aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/netmap/netmap_generic.c
diff options
context:
space:
mode:
authorVincenzo Maffione <vmaffione@FreeBSD.org>2019-02-05 12:10:48 +0000
committerVincenzo Maffione <vmaffione@FreeBSD.org>2019-02-05 12:10:48 +0000
commit75f4f3ed51ea3eb78ed77e255845aa301b657bc4 (patch)
treec151c57cccbd72b2e392c0a13a713d95e22fee85 /sys/dev/netmap/netmap_generic.c
parentbaed5270e1a6863444b97ccb107d08b317eb84a3 (diff)
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
Notes
svn path=/head/; revision=343772
Diffstat (limited to 'sys/dev/netmap/netmap_generic.c')
-rw-r--r--sys/dev/netmap/netmap_generic.c27
1 files changed, 2 insertions, 25 deletions
diff --git a/sys/dev/netmap/netmap_generic.c b/sys/dev/netmap/netmap_generic.c
index dd90734b9458..e5a2499a595d 100644
--- a/sys/dev/netmap/netmap_generic.c
+++ b/sys/dev/netmap/netmap_generic.c
@@ -237,18 +237,7 @@ generic_netmap_unregister(struct netmap_adapter *na)
nm_os_catch_tx(gna, 0);
}
- for_each_rx_kring_h(r, kring, na) {
- if (nm_kring_pending_off(kring)) {
- nm_prinf("Emulated adapter: ring '%s' deactivated", kring->name);
- kring->nr_mode = NKR_NETMAP_OFF;
- }
- }
- for_each_tx_kring_h(r, kring, na) {
- if (nm_kring_pending_off(kring)) {
- kring->nr_mode = NKR_NETMAP_OFF;
- nm_prinf("Emulated adapter: ring '%s' deactivated", kring->name);
- }
- }
+ netmap_krings_mode_commit(na, /*onoff=*/0);
for_each_rx_kring(r, kring, na) {
/* Free the mbufs still pending in the RX queues,
@@ -371,19 +360,7 @@ generic_netmap_register(struct netmap_adapter *na, int enable)
}
}
- for_each_rx_kring_h(r, kring, na) {
- if (nm_kring_pending_on(kring)) {
- nm_prinf("Emulated adapter: ring '%s' activated", kring->name);
- kring->nr_mode = NKR_NETMAP_ON;
- }
-
- }
- for_each_tx_kring_h(r, kring, na) {
- if (nm_kring_pending_on(kring)) {
- nm_prinf("Emulated adapter: ring '%s' activated", kring->name);
- kring->nr_mode = NKR_NETMAP_ON;
- }
- }
+ netmap_krings_mode_commit(na, /*onoff=*/1);
for_each_tx_kring(r, kring, na) {
/* Initialize tx_pool and tx_event. */