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 --- |