Deleted Added
full compact
netmap.h (261909) netmap.h (267128)
1/*
2 * Copyright (C) 2011-2014 Matteo Landi, Luigi Rizzo. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27/*
1/*
2 * Copyright (C) 2011-2014 Matteo Landi, Luigi Rizzo. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27/*
28 * $FreeBSD: head/sys/net/netmap.h 261909 2014-02-15 04:53:04Z luigi $
28 * $FreeBSD: head/sys/net/netmap.h 267128 2014-06-05 21:12:41Z luigi $
29 *
30 * Definitions of constants and the structures used by the netmap
31 * framework, for the part visible to both kernel and userspace.
32 * Detailed info on netmap is available with "man netmap" or at
33 *
34 * http://info.iet.unipi.it/~luigi/netmap/
35 *
36 * This API is also used to communicate with the VALE software switch

--- 405 unchanged lines hidden (view full) ---

442 * list the configuration of VALE switches.
443 *
444 * NETMAP_BDG_VNET_HDR
445 * Set the virtio-net header length used by the client
446 * of a VALE switch port.
447 *
448 * nr_arg1, nr_arg2, nr_arg3 (in/out) command specific
449 *
29 *
30 * Definitions of constants and the structures used by the netmap
31 * framework, for the part visible to both kernel and userspace.
32 * Detailed info on netmap is available with "man netmap" or at
33 *
34 * http://info.iet.unipi.it/~luigi/netmap/
35 *
36 * This API is also used to communicate with the VALE software switch

--- 405 unchanged lines hidden (view full) ---

442 * list the configuration of VALE switches.
443 *
444 * NETMAP_BDG_VNET_HDR
445 * Set the virtio-net header length used by the client
446 * of a VALE switch port.
447 *
448 * nr_arg1, nr_arg2, nr_arg3 (in/out) command specific
449 *
450 *
451 *
450 *
451 *
452 */
453
454
455/*
456 * struct nmreq overlays a struct ifreq (just the name)
457 *
458 * On input, nr_ringid indicates which rings we are requesting,
459 * with the low flags for the specific ring number.
460 * selection FLAGS RING INDEX
461 *
462 * all the NIC rings 0x0000 -
463 * only HOST ring 0x2000 ring index
464 * single NIC ring 0x4000 -
465 * all the NIC+HOST rings 0x6000 -
466 * one pipe ring, master 0x8000 ring index
467 * *** INVALID 0xA000
468 * one pipe ring, slave 0xC000 ring index
469 * *** INVALID 0xE000
452 */
453
454
455/*
456 * struct nmreq overlays a struct ifreq (just the name)
457 *
458 * On input, nr_ringid indicates which rings we are requesting,
459 * with the low flags for the specific ring number.
460 * selection FLAGS RING INDEX
461 *
462 * all the NIC rings 0x0000 -
463 * only HOST ring 0x2000 ring index
464 * single NIC ring 0x4000 -
465 * all the NIC+HOST rings 0x6000 -
466 * one pipe ring, master 0x8000 ring index
467 * *** INVALID 0xA000
468 * one pipe ring, slave 0xC000 ring index
469 * *** INVALID 0xE000
470 *
470 *
471 */
472struct nmreq {
473 char nr_name[IFNAMSIZ];
474 uint32_t nr_version; /* API version */
475 uint32_t nr_offset; /* nifp offset in the shared region */
476 uint32_t nr_memsize; /* size of the shared region */
477 uint32_t nr_tx_slots; /* slots in tx rings */
478 uint32_t nr_rx_slots; /* slots in rx rings */

--- 72 unchanged lines hidden ---
471 */
472struct nmreq {
473 char nr_name[IFNAMSIZ];
474 uint32_t nr_version; /* API version */
475 uint32_t nr_offset; /* nifp offset in the shared region */
476 uint32_t nr_memsize; /* size of the shared region */
477 uint32_t nr_tx_slots; /* slots in tx rings */
478 uint32_t nr_rx_slots; /* slots in rx rings */

--- 72 unchanged lines hidden ---