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
F110348108: D18015.id51600.diff
Mon, Feb 17, 4:04 AM
Unknown Object (File)
Sun, Jan 26, 6:21 PM
Unknown Object (File)
Sat, Jan 25, 8:03 PM
Unknown Object (File)
Sat, Jan 25, 7:45 PM
Unknown Object (File)
Fri, Jan 24, 6:52 PM
Unknown Object (File)
Jan 17 2025, 3:00 PM
Unknown Object (File)
Jan 9 2025, 5:04 PM
Unknown Object (File)
Jan 6 2025, 7:25 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 Not Applicable
Unit
Tests Not Applicable

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.