Lines Matching full:rings

40  * The memory pool contains packet buffers and "netmap rings",
65 The netmap rings and data structures may be shared among multiple
75 Within the kernel, access to the netmap rings is protected as follows:
78 RX rings attached to the host stack (against multiple host
80 and on 'destination' rings attached to a VALE switch
81 (i.e. RX rings in VALE ports, and TX rings in NIC/host ports)
86 For rings connected to user file
89 For NIC RX rings connected to a VALE switch, an atomic_test_and_set()
92 For NIC TX rings connected to a VALE switch, the lock arbitrates
158 * and all necessary netmap rings, filling them with netmap buffers.
167 * common stuff. netmap_krings_create() also takes care of the host rings,
611 /* stop or enable all the rings of na */
622 nm_prinf("%s: %sable all rings", na->name, in netmap_set_all_rings()
635 * netmap mode off, or before removing the hardware rings (e.g., on module
648 * adapter's rings In linux drivers, this should be placed near each
807 /* nm_sync callbacks for the host rings */
859 /* account for the (possibly fake) host rings */ in netmap_krings_create()
969 * on the rings connected to the host so we need to purge
1046 * when rings change nr_mode. */ in netmap_do_unregif()
1048 /* walk through all the rings and tell any monitor in netmap_do_unregif()
1061 /* delete rings and buffers that are no longer needed */ in netmap_do_unregif()
1088 /* restore the default number of host tx and rx rings */ in netmap_do_unregif()
1163 * Handlers for synchronization of the rings from/to the host stack.
1170 * - Before releasing buffers on hw RX rings, the application can mark
1177 * they will be forwarded to the hw TX rings, saving the application
1281 * Send to the NIC rings packets marked NS_FORWARD between
1285 * It can only be called if the user opened all the TX hw rings,
1287 * We can touch the TX netmap rings (slots, head and cur) since
1302 /* scan rings to find space, then fill as much as possible */ in netmap_sw_to_nic()
1374 * also moves to the nic hw rings any packet the user has marked
1644 * if the adapter supports the host rings and it is not already open, in netmap_get_na()
1645 * try to set the number of host rings as requested by the user in netmap_get_na()
1914 nm_prerr("host rings not supported"); in netmap_interp_ringid()
1930 /* if not enough rings, use the first one */ in netmap_interp_ringid()
1941 nm_prerr("host rings not supported"); in netmap_interp_ringid()
1949 /* if not enough rings, use the first one */ in netmap_interp_ringid()
1966 * direction only if all the TX hw rings have been opened. */ in netmap_interp_ringid()
1987 * for all rings is the same as a single ring.
2046 /* Set the nr_pending_mode for the requested rings.
2047 * If requested, also try to get exclusive access to the rings, provided
2048 * the rings we want to bind are not exclusively owned by a previous bind.
2067 /* first round: check that all the requested rings in netmap_krings_get()
2096 * last users of the involved rings. */
2408 /* set the hardware buffer length in each one of the newly opened rings
2425 /* rings that are already active have their hwbuf_len in netmap_compute_buf_len()
2496 * (get current number and size of rings)
2510 * and adds the mbq (used for the host rings).
2516 * create the krings and rings of both ends and
2548 * rings
2551 * cross-link the bwrap and hwna rings,
2584 /* compute the range of tx and rx rings to monitor */ in netmap_do_regif()
2593 * of the netmap rings (the netmap krings). in netmap_do_regif()
2615 * the netmap rings themselves in netmap_do_regif()
2631 /* create all needed missing netmap rings */ in netmap_do_regif()
2731 * - NIOCTXSYNC sync TX rings
2732 * - NIOCRXSYNC sync RX rings
3647 * Device-dependent parts (locking and sync of tx/rx rings)
3676 * Transparent mode requires to bind all rings to a single in netmap_poll()
3772 * (on all rings, to avoid that the tx rings stall). in netmap_poll()
3780 * used to skip rings with no pending transmissions. in netmap_poll()
3791 * space in some of the TX rings (want_tx == 0) and there are no in netmap_poll()
3839 * If want_rx is still set scan receive rings. in netmap_poll()
3840 * Do it on all rings because otherwise we starve. in netmap_poll()
3905 * ring->head) marked with NS_FORWARD on hw rx rings are passed up in netmap_poll()
4097 nm_prerr("%s: invalid rings tx %d rx %d", in netmap_attach_ext()
4441 * Dispatch rx/tx interrupts to the netmap rings.