Revision tags: release/14.0.0 |
|
#
2ff63af9 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .h pattern
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
Revision tags: release/13.2.0 |
|
#
e330262f |
| 12-Jan-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Mechanically convert netmap(4) to IfAPI
Reviewed by: vmaffione, zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37814
|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0 |
|
#
172c5eb2 |
| 09-Apr-2021 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: remove unused variable
Reported by: bdragon
|
Revision tags: release/13.0.0 |
|
#
15dc713c |
| 07-Apr-2021 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: add support for netmap offsets
Follow-up change to a6d768d845c173823785c71bb18b40074e7a8998. This change adds support for netmap offsets.
|
#
45c67e8f |
| 02-Apr-2021 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: several typo fixes
No functional changes intended.
|
#
3005e10d |
| 11-Jan-2021 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: fix RX initialization after netmap_reset()
At device reset, we must not publish those netmap receive buffers that are owned by userspace (nm_kr_rxspace).
MFC after: 1 week
|
#
bb714db6 |
| 10-Jan-2021 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: enable/disable krings on any interface reinit
See 3d65fd97e85ab807f3b for a detailed explanation.
PR: 252453 MFC after: 1 week
|
#
9ac59d42 |
| 09-Jan-2021 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: stop krings during interface reset
Similarly to what done for iflib in 1d238b07d5d4d9660ae0e, this patch prevents access to the krings during the interface reset triggered by netmap_r
netmap: vtnet: stop krings during interface reset
Similarly to what done for iflib in 1d238b07d5d4d9660ae0e, this patch prevents access to the krings during the interface reset triggered by netmap_register().
MFC after: 1 week
show more ...
|
Revision tags: release/12.2.0 |
|
#
16f224b5 |
| 14-Jun-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: fix races in vtnet_netmap_reg()
The nm_register callback needs to call nm_set_native_flags() or nm_clear_native_flags() once the device has been stopped. However, in the current imple
netmap: vtnet: fix races in vtnet_netmap_reg()
The nm_register callback needs to call nm_set_native_flags() or nm_clear_native_flags() once the device has been stopped. However, in the current implementation this is not true, as the device is stopped by vtnet_init_locked(). This causes race conditions where the driver crashes as soon as it dequeues netmap buffers assuming they are mbufs (or the other way around). To fix the issue, we extend vtnet_init_locked() with a second argument that, if not zero, will set/clear the netmap flags. This results in a huge simplification of the nm_register callback itself. Also, use netmap_reset() to check if a ring is going to be re-initialized in netmap mode.
MFC after: 1 week
show more ...
|
Revision tags: release/11.4.0 |
|
#
66823237 |
| 11-Jun-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: introduce netmap_kring_on()
This function returns NULL if the ring identified by queue id and direction is in netmap mode. Otherwise return the corresponding kring. Use this function to repl
netmap: introduce netmap_kring_on()
This function returns NULL if the ring identified by queue id and direction is in netmap mode. Otherwise return the corresponding kring. Use this function to replace vtnet_netmap_queue_on().
MFC after: 1 week
show more ...
|
#
e8c07b12 |
| 03-Jun-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: clean up rxsync disabled logs
MFC after: 1 week
|
#
1b6d5a80 |
| 03-Jun-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: fix race condition in rxsync
This change prevents a race that happens when rxsync dequeues N-1 rx packets (with N being the size of the netmap rx ring). In this situation, the loop ex
netmap: vtnet: fix race condition in rxsync
This change prevents a race that happens when rxsync dequeues N-1 rx packets (with N being the size of the netmap rx ring). In this situation, the loop exits without re-enabling the rx interrupts, thus causing the VQ to stall.
MFC after: 1 week
show more ...
|
#
2d769e25 |
| 03-Jun-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: add vtnrx_nm_refill index to receive queues
The new index tracks the next netmap slot that is going to be enqueued into the virtqueue. The index is necessary to prevent the receive VQ
netmap: vtnet: add vtnrx_nm_refill index to receive queues
The new index tracks the next netmap slot that is going to be enqueued into the virtqueue. The index is necessary to prevent the receive VQ and the netmap rx ring from going out of sync, considering that we never enqueue N slots, but at most N-1. This change fixes a bug that causes the VQ and the netmap ring to go out of sync after N-1 packets have been received.
MFC after: 1 week
show more ...
|
#
81d2cade |
| 03-Jun-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: remove leftover memory barriers
MFC after: 1 week
|
#
9ec71596 |
| 01-Jun-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: if_vtnet: avoid netmap ring wraparound
netmap assumes the one "slot" is left unused to distinguish the empty ring and full ring conditions. This assumption was violated by vtnet_netmap_rxq_p
netmap: if_vtnet: avoid netmap ring wraparound
netmap assumes the one "slot" is left unused to distinguish the empty ring and full ring conditions. This assumption was violated by vtnet_netmap_rxq_populate().
MFC after: 1 week
show more ...
|
#
36f2d670 |
| 01-Jun-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: if_vtnet: replace vtnet_free_used()
The functionality contained in this function is duplicated, as it is already available in vtnet_txq_free_mbufs() and vtnet_rxq_free_mbufs().
MFC after: 1
netmap: if_vtnet: replace vtnet_free_used()
The functionality contained in this function is duplicated, as it is already available in vtnet_txq_free_mbufs() and vtnet_rxq_free_mbufs().
MFC after: 1 week
show more ...
|
#
c9de157d |
| 01-Jun-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: vtnet: fix RX virtqueue initialization bug
The vtnet_netmap_rxq_populate() function erroneously assumed that kring->nr_hwcur = 0, i.e. the kring was in the initial state. However, this is no
netmap: vtnet: fix RX virtqueue initialization bug
The vtnet_netmap_rxq_populate() function erroneously assumed that kring->nr_hwcur = 0, i.e. the kring was in the initial state. However, this is not always the case: for example, when a vtnet reinit is triggered by some changes in the interface flags or capenable. This patch changes the behaviour of vtnet_netmap_kring_refill() so that it always starts publishing the netmap buffers starting from the current value of kring->nr_hwcur.
MFC after: 1 week
show more ...
|
Revision tags: release/12.1.0, release/11.3.0 |
|
#
18b18078 |
| 25-Feb-2019 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r344527
|
#
a8fe8db4 |
| 25-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r344178 through r344512.
|
#
352a2062 |
| 25-Feb-2019 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: remove redundant call to nm_set_native_flags()
This redundant call was introduced by mistake in r343772.
MFC after: 3 days Sponsored by: Sunny Valley Networks
|
#
8e69ae1c |
| 05-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r343712 through r343806.
|
#
75f4f3ed |
| 05-Feb-2019 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: refactor logging macros and pipes
Changelist: - Replace ND, D and RD macros with nm_prdis, nm_prinf, nm_prerr and nm_prlim, to avoid possible naming conflicts. - Add netmap_kri
netmap: refactor logging macros and pipes
Changelist: - Replace ND, D and RD macros with nm_prdis, nm_prinf, nm_prerr and nm_prlim, to avoid possible naming conflicts. - Add netmap_krings_mode_commit() helper function and use that to reduce code duplication. - Refactor pipes control code to export some functions that can be reused by the veth driver (on Linux) and epair(4). - Add check to reject API requests with version less than 11. - Small code refactoring for the null adapter.
MFC after: 1 week
show more ...
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
Revision tags: release/12.0.0 |
|
#
b6e66be2 |
| 05-Dec-2018 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: align codebase to the current upstream (760279cfb2730a585)
Changelist: - Replace netmap passthrough host support with a more general mechanism to call TXSYNC/RXSYNC from an in-kernel e
netmap: align codebase to the current upstream (760279cfb2730a585)
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.
Sponsored by: Sunny Valley Networks Differential Revision: https://reviews.freebsd.org/D18015
show more ...
|
#
3d5db455 |
| 24-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340427 through r340868.
|