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

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.