Lines Matching defs:na

104 #define MBUF_TRANSMIT(na, ifp, m)	((na)->if_transmit(ifp, m))
145 #define MBUF_TRANSMIT(na, ifp, m) \
149 (((struct net_device_ops *)(na)->if_transmit)->ndo_start_xmit(m, ifp)); \
473 struct netmap_adapter *na;
935 nma_get_ndesc(struct netmap_adapter *na, enum txrx t)
937 return (t == NR_TX ? na->num_tx_desc : na->num_rx_desc);
941 nma_set_ndesc(struct netmap_adapter *na, enum txrx t, u_int v)
944 na->num_tx_desc = v;
946 na->num_rx_desc = v;
950 nma_get_nrings(struct netmap_adapter *na, enum txrx t)
952 return (t == NR_TX ? na->num_tx_rings : na->num_rx_rings);
956 nma_get_host_nrings(struct netmap_adapter *na, enum txrx t)
958 return (t == NR_TX ? na->num_host_tx_rings : na->num_host_rx_rings);
962 nma_set_nrings(struct netmap_adapter *na, enum txrx t, u_int v)
965 na->num_tx_rings = v;
967 na->num_rx_rings = v;
971 nma_set_host_nrings(struct netmap_adapter *na, enum txrx t, u_int v)
974 na->num_host_tx_rings = v;
976 na->num_host_rx_rings = v;
980 NMR(struct netmap_adapter *na, enum txrx t)
982 return (t == NR_TX ? na->tx_rings : na->rx_rings);
985 int nma_intr_enable(struct netmap_adapter *na, int onoff);
993 #define NETMAP_OWNED_BY_KERN(na) ((na)->na_flags & NAF_BUSY)
994 #define NETMAP_OWNED_BY_ANY(na) \
995 (NETMAP_OWNED_BY_KERN(na) || ((na)->active_fds > 0))
1066 netmap_real_rings(struct netmap_adapter *na, enum txrx t)
1068 return nma_get_nrings(na, t) +
1069 !!(na->na_flags & NAF_HOST_RINGS) * nma_get_host_nrings(na, t);
1074 netmap_all_rings(struct netmap_adapter *na, enum txrx t)
1076 return max(nma_get_nrings(na, t) + 1, netmap_real_rings(na, t));
1079 int netmap_default_bdg_attach(const char *name, struct netmap_adapter *na,
1146 int nm_is_bwrap(struct netmap_adapter *na);
1244 static inline int nm_iszombie(struct netmap_adapter *na);
1280 if (unlikely(nm_iszombie(kr->na))) {
1350 struct netmap_slot *netmap_reset(struct netmap_adapter *na,
1392 nm_netmap_on(struct netmap_adapter *na)
1394 return na && na->na_flags & NAF_NETMAP_ON;
1398 nm_native_on(struct netmap_adapter *na)
1400 return nm_netmap_on(na) && (na->na_flags & NAF_NATIVE);
1404 netmap_kring_on(struct netmap_adapter *na, u_int q, enum txrx t)
1408 if (!nm_native_on(na))
1411 if (t == NR_RX && q < na->num_rx_rings)
1412 kring = na->rx_rings[q];
1413 else if (t == NR_TX && q < na->num_tx_rings)
1414 kring = na->tx_rings[q];
1422 nm_iszombie(struct netmap_adapter *na)
1424 return na == NULL || (na->na_flags & NAF_ZOMBIE);
1430 void netmap_krings_mode_commit(struct netmap_adapter *na, int onoff);
1487 * - if the na points to an ifp, mark the ifp as netmap capable
1488 * using na as its native adapter;
1499 int netmap_update_config(struct netmap_adapter *na);
1501 * using the information that must be already available in the na.
1507 int netmap_krings_create(struct netmap_adapter *na, u_int tailroom);
1511 void netmap_krings_delete(struct netmap_adapter *na);
1513 int netmap_hw_krings_create(struct netmap_adapter *na);
1514 void netmap_hw_krings_delete(struct netmap_adapter *na);
1518 * terminate. The status change is then notified using the na nm_notify
1528 int netmap_buf_size_validate(const struct netmap_adapter *na, unsigned mtu);
1529 int netmap_do_regif(struct netmap_priv_d *priv, struct netmap_adapter *na,
1534 int netmap_get_na(struct nmreq_header *hdr, struct netmap_adapter **na,
1536 void netmap_unget_na(struct netmap_adapter *na, if_t ifp);
1538 struct netmap_mem_d *nmd, struct netmap_adapter **na);
1539 void netmap_mem_restore(struct netmap_adapter *na);
1546 int netmap_get_vale_na(struct nmreq_header *hdr, struct netmap_adapter **na,
1565 int netmap_get_pipe_na(struct nmreq_header *hdr, struct netmap_adapter **na,
1576 int netmap_get_monitor_na(struct nmreq_header *hdr, struct netmap_adapter **na,
1578 void netmap_monitor_stop(struct netmap_adapter *na);
1585 int netmap_get_null_na(struct nmreq_header *hdr, struct netmap_adapter **na,
1625 void __netmap_adapter_get(struct netmap_adapter *na);
1627 #define netmap_adapter_get(na) \
1629 struct netmap_adapter *__na = na; \
1634 int __netmap_adapter_put(struct netmap_adapter *na);
1636 #define netmap_adapter_put(na) \
1638 struct netmap_adapter *__na = na; \
1649 void netmap_adapter_get(struct netmap_adapter *na);
1650 int netmap_adapter_put(struct netmap_adapter *na);
1715 #define NM_ATTACH_NA(ifp, na) do { \
1716 if_setnetmapadapter(ifp, na); \
1721 #define NM_RESTORE_NA(ifp, na) if_setnetmapadapter(ifp, na);
1734 nm_iommu_group_id(struct netmap_adapter *na)
1740 nm_numa_domain(struct netmap_adapter *na)
1750 domain = if_getnumadomain(na->ifp);
1766 netmap_load_map(struct netmap_adapter *na,
1770 bus_dmamap_load(tag, map, buf, NETMAP_BUF_SIZE(na),
1776 netmap_unload_map(struct netmap_adapter *na,
1783 #define netmap_sync_map(na, tag, map, sz, t)
1787 netmap_reload_map(struct netmap_adapter *na,
1792 bus_dmamap_load(tag, map, buf, NETMAP_BUF_SIZE(na),
1832 netmap_load_map(struct netmap_adapter *na,
1836 *map = dma_map_single(na->pdev, buf, size,
1838 if (dma_mapping_error(na->pdev, *map)) {
1847 netmap_unload_map(struct netmap_adapter *na,
1851 dma_unmap_single(na->pdev, *map, sz,
1858 netmap_sync_map_cpu(struct netmap_adapter *na,
1862 dma_sync_single_for_cpu(na->pdev, *map, sz,
1868 netmap_sync_map_dev(struct netmap_adapter *na,
1872 dma_sync_single_for_device(na->pdev, *map, sz,
1878 netmap_reload_map(struct netmap_adapter *na,
1881 u_int sz = NETMAP_BUF_SIZE(na);
1884 dma_unmap_single(na->pdev, *map, sz,
1888 *map = dma_map_single(na->pdev, buf, sz,
1892 #define netmap_sync_map_cpu(na, tag, map, sz, t)
1893 #define netmap_sync_map_dev(na, tag, map, sz, t)
1949 * physical-address look-up table for each na.
1972 NMB(struct netmap_adapter *na, struct netmap_slot *slot)
1974 struct lut_entry *lut = na->na_lut.lut;
1976 return (unlikely(i >= na->na_lut.objtotal)) ?
1981 PNMB(struct netmap_adapter *na, struct netmap_slot *slot, uint64_t *pp)
1984 struct lut_entry *lut = na->na_lut.lut;
1985 struct plut_entry *plut = na->na_lut.plut;
1986 void *ret = (i >= na->na_lut.objtotal) ? lut[0].vaddr : lut[i].vaddr;
1989 *pp = (i >= na->na_lut.objtotal) ? (uint64_t)plut[0].paddr.QuadPart : (uint64_t)plut[i].paddr.QuadPart;
1991 *pp = (i >= na->na_lut.objtotal) ? plut[0].paddr : plut[i].paddr;
2016 void *addr = NMB(kring->na, slot);
2023 void *addr = PNMB(kring->na, slot, pp);
2093 struct netmap_adapter *na = np->np_na;
2099 struct netmap_kring *kring = NMR(na, t)[i];
2119 int netmap_pipe_krings_create_both(struct netmap_adapter *na,
2121 void netmap_pipe_krings_delete_both(struct netmap_adapter *na,
2123 int netmap_pipe_reg_both(struct netmap_adapter *na,
2150 int na_is_generic(struct netmap_adapter *na);
2186 void netmap_generic_irq(struct netmap_adapter *na, u_int q, u_int *work_done);
2201 struct netmap_adapter *na);
2208 #define na_is_generic(na) (0)
2307 void bdg_mismatch_datapath(struct netmap_vp_adapter *na,
2375 int netmap_pt_guest_attach(struct netmap_adapter *na,
2384 int ptnet_nm_krings_create(struct netmap_adapter *na);
2385 void ptnet_nm_krings_delete(struct netmap_adapter *na);
2386 void ptnet_nm_dtor(struct netmap_adapter *na);
2420 #define SET_MBUF_DESTRUCTOR(m, fn, na) do { \
2423 (m)->m_ext.ext_arg1 = na; \