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)
Feb 28 2024, 1:17 AM
Unknown Object (File)
Feb 24 2024, 9:55 PM
Unknown Object (File)
Feb 23 2024, 6:27 PM
Unknown Object (File)
Feb 12 2024, 12:26 PM
Unknown Object (File)
Jan 31 2024, 7:52 AM
Unknown Object (File)
Jan 4 2024, 7:18 PM
Unknown Object (File)
Dec 24 2023, 12:57 PM
Unknown Object (File)
Dec 23 2023, 6:22 AM
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.