• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/dev/netmap/

Lines Matching refs:na

264 netmap_mem_if_new(struct netmap_adapter *na, struct netmap_priv_d *priv)
267 struct netmap_mem_d *nmd = na->nm_mem;
270 nifp = nmd->ops->nmd_if_new(na, priv);
277 netmap_mem_if_delete(struct netmap_adapter *na, struct netmap_if *nif)
279 struct netmap_mem_d *nmd = na->nm_mem;
282 nmd->ops->nmd_if_delete(na, nif);
287 netmap_mem_rings_create(struct netmap_adapter *na)
290 struct netmap_mem_d *nmd = na->nm_mem;
293 rv = nmd->ops->nmd_rings_create(na);
300 netmap_mem_rings_delete(struct netmap_adapter *na)
302 struct netmap_mem_d *nmd = na->nm_mem;
305 nmd->ops->nmd_rings_delete(na);
356 netmap_mem_finalize(struct netmap_mem_d *nmd, struct netmap_adapter *na)
359 if (nm_mem_assign_group(nmd, na->pdev) < 0) {
372 if (!nmd->lasterr && na->pdev) {
373 nmd->lasterr = netmap_mem_map(&nmd->pools[NETMAP_BUF_POOL], na);
381 netmap_mem_deref(nmd, na);
472 netmap_mem_deref(struct netmap_mem_d *nmd, struct netmap_adapter *na)
476 if (na->active_fds <= 0)
477 netmap_mem_unmap(&nmd->pools[NETMAP_BUF_POOL], na);
1131 netmap_extra_alloc(struct netmap_adapter *na, uint32_t *head, uint32_t n)
1133 struct netmap_mem_d *nmd = na->nm_mem;
1157 netmap_extra_free(struct netmap_adapter *na, uint32_t head)
1159 struct lut_entry *lut = na->na_lut.lut;
1160 struct netmap_mem_d *nmd = na->nm_mem;
1523 netmap_mem_unmap(struct netmap_obj_pool *p, struct netmap_adapter *na)
1528 if (na == NULL || na->pdev == NULL)
1531 lut = &na->na_lut;
1544 nm_prdis("unmapping and freeing plut for %s", na->name);
1549 netmap_unload_map(na, (bus_dma_tag_t) na->pdev, &lut->plut[i].paddr, p->_clustsize);
1559 netmap_mem_map(struct netmap_obj_pool *p, struct netmap_adapter *na)
1563 struct netmap_lut *lut = &na->na_lut;
1565 if (na->pdev == NULL)
1582 nm_prdis("plut already allocated for %s", na->name);
1586 nm_prdis("allocating physical lut for %s", na->name);
1589 nm_prerr("Failed to allocate physical lut for %s", na->name);
1603 error = netmap_load_map(na, (bus_dma_tag_t) na->pdev, &lut->plut[i].paddr,
1616 netmap_mem_unmap(p, na);
1856 netmap_free_rings(struct netmap_adapter *na)
1862 for (i = 0; i < netmap_all_rings(na, t); i++) {
1863 struct netmap_kring *kring = NMR(na, t)[i];
1876 netmap_free_bufs(na->nm_mem, ring->slot, kring->nkr_num_slots);
1880 netmap_ring_free(na->nm_mem, ring);
1894 netmap_mem2_rings_create(struct netmap_adapter *na)
1901 for (i = 0; i < netmap_all_rings(na, t); i++) {
1902 struct netmap_kring *kring = NMR(na, t)[i];
1918 ring = netmap_ring_malloc(na->nm_mem, len);
1927 (na->nm_mem->pools[NETMAP_IF_POOL].memtotal +
1928 na->nm_mem->pools[NETMAP_RING_POOL].memtotal) -
1929 netmap_ring_offset(na->nm_mem, ring);
1936 netmap_mem_bufsize(na->nm_mem);
1944 if (netmap_new_bufs(na->nm_mem, ring->slot, ndesc)) {
1952 netmap_mem_set_ring(na->nm_mem, ring->slot, ndesc, 0);
1973 netmap_mem2_rings_delete(struct netmap_adapter *na)
1976 netmap_free_rings(na);
1984 * We assume that the configuration stored in na
1989 netmap_mem2_if_new(struct netmap_adapter *na, struct netmap_priv_d *priv)
1999 n[t] = netmap_all_rings(na, t);
2008 nifp = netmap_if_malloc(na->nm_mem, len);
2014 *(u_int *)(uintptr_t)&nifp->ni_tx_rings = na->num_tx_rings;
2015 *(u_int *)(uintptr_t)&nifp->ni_rx_rings = na->num_rx_rings;
2017 (na->num_host_tx_rings ? na->num_host_tx_rings : 1);
2019 (na->num_host_rx_rings ? na->num_host_rx_rings : 1);
2020 strlcpy(nifp->ni_name, na->name, sizeof(nifp->ni_name));
2027 base = netmap_if_offset(na->nm_mem, nifp);
2033 if (na->tx_rings[i]->ring != NULL && i >= priv->np_qfirst[NR_TX]
2035 ofs = netmap_ring_offset(na->nm_mem,
2036 na->tx_rings[i]->ring) - base;
2045 if (na->rx_rings[i]->ring != NULL && i >= priv->np_qfirst[NR_RX]
2047 ofs = netmap_ring_offset(na->nm_mem,
2048 na->rx_rings[i]->ring) - base;
2057 netmap_mem2_if_delete(struct netmap_adapter *na, struct netmap_if *nifp)
2063 netmap_extra_free(na, nifp->ni_bufs_head);
2064 netmap_if_free(na->nm_mem, nifp);
2633 netmap_mem_pt_guest_if_new(struct netmap_adapter *na, struct netmap_priv_d *priv)
2635 struct netmap_mem_ptg *ptnmd = (struct netmap_mem_ptg *)na->nm_mem;
2639 ptif = netmap_mem_pt_guest_ifp_lookup(na->nm_mem, na->ifp);
2641 nm_prerr("interface %s is not in passthrough", na->name);
2652 netmap_mem_pt_guest_if_delete(struct netmap_adapter *na, struct netmap_if *nifp)
2656 ptif = netmap_mem_pt_guest_ifp_lookup(na->nm_mem, na->ifp);
2658 nm_prerr("interface %s is not in passthrough", na->name);
2663 netmap_mem_pt_guest_rings_create(struct netmap_adapter *na)
2665 struct netmap_mem_ptg *ptnmd = (struct netmap_mem_ptg *)na->nm_mem;
2670 ptif = netmap_mem_pt_guest_ifp_lookup(na->nm_mem, na->ifp);
2672 nm_prerr("interface %s is not in passthrough", na->name);
2679 for (i = 0; i < netmap_all_rings(na, NR_TX); i++) {
2680 struct netmap_kring *kring = na->tx_rings[i];
2686 for (i = 0; i < netmap_all_rings(na, NR_RX); i++) {
2687 struct netmap_kring *kring = na->rx_rings[i];
2692 nifp->ring_ofs[netmap_all_rings(na, NR_TX) + i]);
2701 netmap_mem_pt_guest_rings_delete(struct netmap_adapter *na)
2708 for (i = 0; i < nma_get_nrings(na, t) + 1; i++) {
2709 struct netmap_kring *kring = &NMR(na, t)[i];