Page MenuHomeFreeBSD

netmap: align codebase to the current upstream (sha afa26bc3bc416)
ClosedPublic

Authored by vmaffione on Nov 17 2018, 1:46 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 22, 4:23 AM
Unknown Object (File)
Mon, Nov 4, 6:26 PM
Unknown Object (File)
Mon, Nov 4, 12:37 AM
Unknown Object (File)
Fri, Nov 1, 11:23 PM
Unknown Object (File)
Oct 9 2024, 6:27 AM
Unknown Object (File)
Oct 4 2024, 3:48 PM
Unknown Object (File)
Oct 4 2024, 2:31 PM
Unknown Object (File)
Oct 2 2024, 2:02 PM
Subscribers

Details

Summary

Changelist:

  • Replace netmap passthrough host support with a more general mechanism to call TXSYNC/RXSYNC from an in-kernel event-loop. No kernel threads are used to use this feature: the application is required to spawn a thread (or a process) and issue a SYNC_KLOOP_START (NIOCCTRL) command in the thread body. The kernel loop is executed by the ioctl implementation, which returns to userspace only when a different thread calls SYNC_KLOOP_STOP or the netmap file descriptor is closed.
  • Update the if_ptnet driver to cope with the new data structures, and prune all the obsolete ptnetmap code.
  • Add support for "null" netmap ports, useful to allocate netmap_if, netmap_ring and netmap buffers to be used by specialized applications (e.g. hypervisors). TXSYNC/RXSYNC on these ports have no effect.
  • Various fixes and code refactoring.
Test Plan

Unit tests and integration tests run successful.
Tested if_ptnet over QEMU/KVM in several configurations.
Code used in production on Linux.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

Import bug fix from upstream.

This revision was not accepted when it landed; it landed in state Needs Review.Dec 5 2018, 11:58 AM
This revision was automatically updated to reflect the committed changes.