/freebsd-11-stable/sys/dev/netmap/ |
H A D | netmap_monitor.c | 140 netmap_monitor_txsync(struct netmap_kring *kring, int flags) argument 142 nm_prlim(1, "%s %x", kring->name, flags); 153 netmap_monitor_rxsync(struct netmap_kring *kring, int flags) argument 156 (struct netmap_monitor_adapter *)kring->na; 161 nm_prdis("%s %x", kring->name, flags); 162 kring->nr_hwcur = kring->rhead; 182 struct netmap_kring *kring = NMR(na, t)[first + i]; local 183 kring->nm_sync = t == NR_TX ? netmap_monitor_txsync : 204 /* allocate the monitors array in the monitored kring */ 206 nm_monitor_alloc(struct netmap_kring *kring, u_int n) argument 229 nm_monitor_dealloc(struct netmap_kring *kring) argument 245 nm_monitor_none(struct netmap_kring *kring) argument 263 nm_monitor_dummycb(struct netmap_kring *kring, int flags) argument 271 nm_monitor_intercept_callbacks(struct netmap_kring *kring) argument 287 nm_monitor_restore_callbacks(struct netmap_kring *kring) argument 302 struct netmap_kring *kring = mkring; local 317 netmap_monitor_add(struct netmap_kring *mkring, struct netmap_kring *kring, int zmon) argument 370 netmap_monitor_del(struct netmap_kring *mkring, struct netmap_kring *kring, enum txrx t) argument 455 struct netmap_kring *kring = NMR(na, t)[i]; local 512 struct netmap_kring *kring, *mkring; local 584 netmap_zmon_parent_sync(struct netmap_kring *kring, int flags, enum txrx tx) argument 689 netmap_zmon_parent_txsync(struct netmap_kring *kring, int flags) argument 696 netmap_zmon_parent_rxsync(struct netmap_kring *kring, int flags) argument 726 netmap_monitor_parent_sync(struct netmap_kring *kring, u_int first_new, int new_slots) argument 800 netmap_monitor_parent_txsync(struct netmap_kring *kring, int flags) argument 822 netmap_monitor_parent_rxsync(struct netmap_kring *kring, int flags) argument 849 netmap_monitor_parent_notify(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap.c | 290 * kring->nm_sync() == DEVICE_netmap_txsync() 296 * kring->nm_sync() == DEVICE_netmap_rxsync() 305 * kring->nm_sync() == netmap_rxsync_from_host 309 * kring->nm_sync() == netmap_txsync_to_host 323 * kring->nm_sync() == generic_netmap_txsync() 333 * kring->nm_sync() == generic_netmap_rxsync() 356 * kring->nm_sync() == netmap_vp_txsync() 362 * kring->nm_sync() == DEVICE_netmap_rxsync() 364 * kring->nm_sync() == DEVICE_netmap_rxsync() 368 * kring 831 struct netmap_kring *kring; local 923 struct netmap_kring **kring = na->tx_rings; local 1166 netmap_grab_packets(struct netmap_kring *kring, struct mbq *q, int force) argument 1194 _nm_may_forward(struct netmap_kring *kring) argument 1202 nm_may_forward_up(struct netmap_kring *kring) argument 1209 nm_may_forward_down(struct netmap_kring *kring, int sync_flags) argument 1231 struct netmap_kring *kring = na->rx_rings[na->num_rx_rings]; local 1282 netmap_txsync_to_host(struct netmap_kring *kring, int flags) argument 1315 netmap_rxsync_from_host(struct netmap_kring *kring, int flags) argument 1633 nm_txsync_prologue(struct netmap_kring *kring, struct netmap_ring *ring) argument 1697 nm_rxsync_prologue(struct netmap_kring *kring, struct netmap_ring *ring) argument 1759 netmap_ring_reinit(struct netmap_kring *kring) argument 1944 struct netmap_kring *kring; local 1997 struct netmap_kring *kring; local 2102 struct netmap_kring *kring = local 2376 nm_sync_finalize(struct netmap_kring *kring) argument 2870 struct netmap_kring *kring = krings[i]; local 3239 struct netmap_kring *kring; local 3508 struct netmap_kring *kring = NMR(na, t)[i]; local 3542 netmap_notify(struct netmap_kring *kring, int flags) argument 3843 struct netmap_kring *kring, *tx_kring; local 3950 struct netmap_kring *kring; local 4038 struct netmap_kring *kring; local 4146 struct netmap_kring *kring = NMR(na, t)[i]; local [all...] |
H A D | if_vtnet_netmap.h | 111 * cases by looking at kring->nr_mode, before this is possibly updated 116 struct netmap_kring *kring; local 119 kring = NMR(na, NR_TX)[i]; 121 kring->nr_mode == NKR_NETMAP_ON, NR_TX, i); 125 kring = NMR(na, NR_RX)[i]; 127 kring->nr_mode == NKR_NETMAP_ON, NR_RX, i); 148 vtnet_netmap_txsync(struct netmap_kring *kring, int flags) argument 150 struct netmap_adapter *na = kring->na; 152 struct netmap_ring *ring = kring->ring; 153 u_int ring_nr = kring 236 vtnet_netmap_kring_refill(struct netmap_kring *kring, u_int nm_i, u_int head) argument 294 struct netmap_kring *kring; local 316 vtnet_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap_generic.c | 225 struct netmap_kring *kring = NULL; local 240 for_each_rx_kring(r, kring, na) { 244 mbq_safe_purge(&kring->rx_queue); 252 for_each_tx_kring(r, kring, na) { 257 mtx_lock_spin(&kring->tx_event_lock); 258 if (kring->tx_event) { 259 SET_MBUF_DESTRUCTOR(kring->tx_event, NULL); 261 kring->tx_event = NULL; 262 mtx_unlock_spin(&kring->tx_event_lock); 268 for_each_rx_kring(r, kring, n 304 struct netmap_kring *kring = NULL; local 434 struct netmap_kring *kring; local 497 generic_netmap_tx_clean(struct netmap_kring *kring, int txqdisc) argument 583 generic_set_tx_event(struct netmap_kring *kring, u_int hwcur) argument 648 generic_netmap_txsync(struct netmap_kring *kring, int flags) argument 811 struct netmap_kring *kring; local 867 generic_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap_kloop.c | 63 /* Write kring pointers (hwcur, hwtail) to the CSB. 93 /* Read kring pointers (head, cur, sync_flags) from the CSB. 136 sync_kloop_kring_dump(const char *title, const struct netmap_kring *kring) argument 138 nm_prinf("%s, kring %s, hwcur %d, rhead %d, " 140 title, kring->name, kring->nr_hwcur, kring->rhead, 141 kring->rcur, kring->rtail, kring 148 struct netmap_kring *kring; member in struct:sync_kloop_ring_args 163 struct netmap_kring *kring = a->kring; local 305 sync_kloop_norxslots(struct netmap_kring *kring, uint32_t g_head) argument 315 struct netmap_kring *kring = a->kring; local 973 netmap_pt_guest_txsync(struct nm_csb_atok *atok, struct nm_csb_ktoa *ktoa, struct netmap_kring *kring, int flags) argument 1041 netmap_pt_guest_rxsync(struct nm_csb_atok *atok, struct nm_csb_ktoa *ktoa, struct netmap_kring *kring, int flags) argument [all...] |
H A D | if_lem_netmap.h | 100 lem_netmap_txsync(struct netmap_kring *kring, int flags) argument 102 struct netmap_adapter *na = kring->na; 104 struct netmap_ring *ring = kring->ring; 107 u_int const lim = kring->nkr_num_slots - 1; 108 u_int const head = kring->rhead; 110 u_int report_frequency = kring->nkr_num_slots >> 1; 122 nm_i = kring->nr_hwcur; 124 nic_i = netmap_idx_k2n(kring, nm_i); 158 kring->nr_hwcur = head; 171 if (ticks != kring 191 lem_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | if_em_netmap.h | 116 em_netmap_txsync(struct netmap_kring *kring, int flags) argument 118 struct netmap_adapter *na = kring->na; 120 struct netmap_ring *ring = kring->ring; 124 u_int const lim = kring->nkr_num_slots - 1; 125 u_int const head = kring->rhead; 127 u_int report_frequency = kring->nkr_num_slots >> 1; 131 struct tx_ring *txr = &adapter->tx_rings[kring->ring_id]; 140 nm_i = kring->nr_hwcur; 142 nic_i = netmap_idx_k2n(kring, nm_i); 175 kring 209 em_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | if_igb_netmap.h | 84 igb_netmap_txsync(struct netmap_kring *kring, int flags) argument 86 struct netmap_adapter *na = kring->na; 88 struct netmap_ring *ring = kring->ring; 92 u_int const lim = kring->nkr_num_slots - 1; 93 u_int const head = kring->rhead; 95 u_int report_frequency = kring->nkr_num_slots >> 1; 99 struct tx_ring *txr = &adapter->tx_rings[kring->ring_id]; 111 nm_i = kring->nr_hwcur; 113 nic_i = netmap_idx_k2n(kring, nm_i); 155 kring 191 igb_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | if_ixl_netmap.h | 53 int ixl_netmap_txsync(struct netmap_kring *kring, int flags); 54 int ixl_netmap_rxsync(struct netmap_kring *kring, int flags); 147 * All information is in the kring. 148 * Userspace wants to send packets up to the one before kring->rhead, 149 * kernel knows kring->nr_hwcur is the first unsent packet. 159 ixl_netmap_txsync(struct netmap_kring *kring, int flags) argument 161 struct netmap_adapter *na = kring->na; 163 struct netmap_ring *ring = kring->ring; 167 u_int const lim = kring->nkr_num_slots - 1; 168 u_int const head = kring 293 ixl_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | ixgbe_netmap.h | 159 * All information is in the kring. 160 * Userspace wants to send packets up to the one before kring->rhead, 161 * kernel knows kring->nr_hwcur is the first unsent packet. 171 ixgbe_netmap_txsync(struct netmap_kring *kring, int flags) argument 173 struct netmap_adapter *na = kring->na; 175 struct netmap_ring *ring = kring->ring; 179 u_int const lim = kring->nkr_num_slots - 1; 180 u_int const head = kring->rhead; 185 u_int report_frequency = kring->nkr_num_slots >> 1; 189 struct tx_ring *txr = &adapter->tx_rings[kring 358 ixgbe_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | if_re_netmap.h | 68 re_netmap_txsync(struct netmap_kring *kring, int flags) argument 70 struct netmap_adapter *na = kring->na; 72 struct netmap_ring *ring = kring->ring; 76 u_int const lim = kring->nkr_num_slots - 1; 77 u_int const head = kring->rhead; 90 nm_i = kring->nr_hwcur; 93 // XXX or netmap_idx_k2n(kring, nm_i); 132 kring->nr_hwcur = head; 146 if (flags & NAF_FORCE_RECLAIM || nm_kr_txempty(kring)) { 158 kring 170 re_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap_bdg.c | 578 struct netmap_kring **kring0, *kring; local 588 kring = kring0[i]; 589 kring->nm_notify(kring, 0); 951 netmap_vp_rxsync_locked(struct netmap_kring *kring, int flags) argument 953 struct netmap_adapter *na = kring->na; 954 struct netmap_ring *ring = kring->ring; 955 u_int nm_i, lim = kring->nkr_num_slots - 1; 956 u_int head = kring->rhead; 961 n = netmap_ring_reinit(kring); 999 netmap_vp_rxsync(struct netmap_kring *kring, int flags) argument 1096 netmap_bwrap_intr_notify(struct netmap_kring *kring, int flags) argument 1205 struct netmap_kring *kring = NMR(hwna, nm_txrx_swap(t))[i]; local 1391 netmap_bwrap_notify(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap_pipe.c | 393 struct netmap_kring *kring = NMR(na, t)[i]; local 395 if (nm_kring_pending_on(kring)) { 397 kring->pipe->nr_kflags |= NKR_NEEDRING; 413 struct netmap_kring *kring = NMR(na, t)[i]; local 414 if (nm_kring_pending_on(kring)) { 417 kring->nr_mode = NKR_NETMAP_ON; 418 if ((kring->nr_kflags & NKR_FAKERING) && 419 (kring->pipe->nr_kflags & NKR_FAKERING)) { 428 if (kring->nr_kflags & NKR_FAKERING) { 429 sring = kring 554 struct netmap_kring *kring = NMR(sna, t)[i]; local [all...] |
H A D | netmap_vale.c | 186 struct netmap_kring **kring; local 190 kring = na->tx_rings; 192 if (kring[i]->nkr_ft) { 193 nm_os_free(kring[i]->nkr_ft); 194 kring[i]->nkr_ft = NULL; /* protect from freeing twice */ 207 struct netmap_kring **kring; local 217 kring = na->tx_rings; 233 kring[i]->nkr_ft = ft; 607 * Grab packets from a kring, move them into the ft structure 613 nm_vale_preflush(struct netmap_kring *kring, u_in argument 962 struct netmap_kring *kring; local 1219 netmap_vale_vp_txsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap_null.c | 77 netmap_null_sync(struct netmap_kring *kring, int flags) argument 79 (void)kring;
|
H A D | netmap_kern.h | 408 * The kring is manipulated by txsync/rxsync and generic netmap function. 471 NM_LOCK_T q_lock; /* protects kring and ring. */ 474 /* the adapter the owns this kring */ 477 /* the adapter that wants to be notified when this kring has 491 * be started on this kring. 494 * structures pointed to by the kring can be added or removed 511 uint32_t ring_id; /* kring identifier */ 515 /* [tx]sync callback for this kring. 517 * sets the nm_sync callback of each hardware tx(rx) kring to 526 int (*nm_sync)(struct netmap_kring *kring, in 567 nm_kring_pending_on(struct netmap_kring *kring) argument 575 nm_kring_pending_off(struct netmap_kring *kring) argument 1158 nm_kr_txempty(struct netmap_kring *kring) argument 1171 nm_kr_wouldblock(struct netmap_kring *kring) argument 1973 struct netmap_kring *kring = NMR(na, t)[i]; local 2264 ptnet_sync_tail(struct nm_csb_ktoa *ktoa, struct netmap_kring *kring) argument [all...] |
H A D | netmap_mem2.c | 1860 struct netmap_kring *kring = NMR(na, t)[i]; local 1861 struct netmap_ring *ring = kring->ring; 1863 if (ring == NULL || kring->users > 0 || (kring->nr_kflags & NKR_NEEDRING)) { 1866 kring->name, ring, kring->users, kring->nr_kflags & NKR_NEEDRING); 1870 nm_prinf("deleting ring %s", kring->name); 1871 if (!(kring->nr_kflags & NKR_FAKERING)) { 1872 nm_prdis("freeing bufs for %s", kring 1899 struct netmap_kring *kring = NMR(na, t)[i]; local 2674 struct netmap_kring *kring = na->tx_rings[i]; local 2681 struct netmap_kring *kring = na->rx_rings[i]; local [all...] |
H A D | netmap_bdg.h | 182 int netmap_vp_rxsync(struct netmap_kring *kring, int flags); 183 int netmap_bwrap_notify(struct netmap_kring *kring, int flags);
|
/freebsd-11-stable/sys/dev/ixgbe/ |
H A D | ixgbe_netmap.c | 174 * All information is in the kring. 175 * Userspace wants to send packets up to the one before kring->rhead, 176 * kernel knows kring->nr_hwcur is the first unsent packet. 186 ixgbe_netmap_txsync(struct netmap_kring *kring, int flags) argument 188 struct netmap_adapter *na = kring->na; 190 struct netmap_ring *ring = kring->ring; 194 u_int const lim = kring->nkr_num_slots - 1; 195 u_int const head = kring->rhead; 200 u_int report_frequency = kring->nkr_num_slots >> 1; 204 struct tx_ring *txr = &adapter->tx_rings[kring 372 ixgbe_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | ix_txrx.c | 586 * kring->nkr_hwofs positions "ahead" wrt the 994 struct netmap_kring *kring = na->tx_rings[txr->me]; local 1006 * - ixgbe_txsync() sets kring->nr_kflags with the index of 1013 (kring->nr_kflags < kring->nkr_num_slots && 1014 txd[kring->nr_kflags].wb.status & IXGBE_TXD_STAT_DD)) {
|
H A D | if_ixv.c | 1493 struct netmap_kring *kring = na->rx_rings[i]; local 1494 int t = na->num_rx_desc - 1 - nm_kr_rxspace(kring);
|
/freebsd-11-stable/sys/dev/ena/ |
H A D | ena_netmap.c | 43 struct netmap_kring *kring; member in struct:ena_netmap_ctx 113 struct netmap_kring *kring; local 125 kring = na->rx_rings[qid]; 126 nm_i = kring->nr_hwcur; 127 head = kring->rhead; 130 "rhead: %d, rcur: %d, rtail: %d\n", kring->nr_hwcur, 131 kring->nr_hwtail, kring->rhead, kring->rcur, kring 176 struct netmap_kring *kring; local 225 struct netmap_kring *kring; local 276 struct netmap_kring *kring; local 323 ena_netmap_txsync(struct netmap_kring *kring, int flags) argument 894 ena_netmap_rxsync(struct netmap_kring *kring, int flags) argument 1075 ena_netmap_fill_ctx(struct netmap_kring *kring, struct ena_netmap_ctx *ctx, uint16_t ena_qid) argument [all...] |
/freebsd-11-stable/sys/dev/vmware/vmxnet3/ |
H A D | vmx_netmap.h | 133 vmxnet3_netmap_txsync(struct netmap_kring *kring, int flags) argument 135 struct netmap_adapter *na = kring->na; 137 struct netmap_ring *ring = kring->ring; 141 u_int const lim = kring->nkr_num_slots - 1; 142 u_int const head = kring->rhead; 148 u_int report_frequency = kring->nkr_num_slots >> 1; 151 struct vmxnet3_txqueue *txq = &sc->vmx_txq[kring->ring_id]; 159 nm_i = kring->nr_hwcur; 161 nic_i = netmap_idx_k2n(kring, nm_i); 206 kring 238 vmxnet3_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
/freebsd-11-stable/sys/dev/cxgbe/ |
H A D | t4_netmap.c | 549 struct netmap_kring *kring, int npkt, int npkt_remaining, int txcsum) 551 struct netmap_ring *ring = kring->ring; 553 const u_int lim = kring->nkr_num_slots - 1; 574 slot = &ring->slot[kring->nr_hwcur]; 575 PNMB(kring->na, slot, &ba); 603 kring->nr_hwcur = nm_next(kring->nr_hwcur, lim); 695 cxgbe_netmap_txsync(struct netmap_kring *kring, int flags) argument 697 struct netmap_adapter *na = kring->na; 701 struct sge_nm_txq *nm_txq = &sc->sge.nm_txq[vi->first_nm_txq + kring 548 cxgbe_nm_tx(struct adapter *sc, struct sge_nm_txq *nm_txq, struct netmap_kring *kring, int npkt, int npkt_remaining, int txcsum) argument 759 cxgbe_netmap_rxsync(struct netmap_kring *kring, int flags) argument 909 struct netmap_kring *kring = na->rx_rings[nm_rxq->nid]; local [all...] |
/freebsd-11-stable/sys/net/ |
H A D | iflib.c | 754 static int netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring *kring, uint32_t nm_i, bool init); 819 netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring *kring, uint32_t nm_i, bool init) argument 821 struct netmap_adapter *na = kring->na; 822 u_int const lim = kring->nkr_num_slots - 1; 823 u_int head = kring->rhead; 824 struct netmap_ring *ring = kring->ring; 835 refill_pidx = netmap_idx_k2n(kring, nm_i); 846 nic_i = netmap_idx_k2n(kring, nm_i); 851 return netmap_ring_reinit(kring); 883 kring 907 iflib_netmap_txsync(struct netmap_kring *kring, int flags) argument 1044 iflib_netmap_rxsync(struct netmap_kring *kring, int flags) argument 1189 struct netmap_kring *kring = na->rx_rings[rxq->ifr_id]; local [all...] |