Linux Kernel
3.7.1
|
Data Structures | |
union | netio_group_t |
A group-to-bucket identifier. More... | |
struct | netio_input_config_t |
An object for specifying the characteristics of NetIO communication endpoint. More... | |
struct | netio_queue_t |
Typedefs | |
typedef netio_group_t | netio_vlan_t |
A VLAN-to-bucket identifier. | |
typedef unsigned char | netio_bucket_t |
typedef unsigned int | netio_size_t |
Registration flags; used in the netio_input_config_t structure.
#define _NETIO_AUTO_DN 0x00004000 |
Definition at line 2540 of file netio_intf.h.
#define _NETIO_AUTO_PRESENT 0x00008000 |
Definition at line 2541 of file netio_intf.h.
#define _NETIO_AUTO_UP 0x00002000 |
Definition at line 2539 of file netio_intf.h.
#define NETIO_AUTO_LINK_DN (_NETIO_AUTO_PRESENT | _NETIO_AUTO_DN) |
Set the desired state of the link to down the next time no tiles are registered for packet reception or transmission. This flag is ignored if it is specified along with NETIO_NO_XMIT and NETIO_NO_RECV. See link for more information on link management.
Definition at line 2568 of file netio_intf.h.
#define NETIO_AUTO_LINK_NONE _NETIO_AUTO_PRESENT |
Do not bring up the link automatically as part of this registration operation. Do not take down the link automatically. This flag is ignored if it is specified along with NETIO_NO_XMIT and NETIO_NO_RECV. See link for more information on link management.
Definition at line 2575 of file netio_intf.h.
#define NETIO_AUTO_LINK_UP (_NETIO_AUTO_PRESENT | _NETIO_AUTO_UP) |
Set the desired state of the link to up, allowing any speeds which are supported by the link hardware, as part of this registration operation. Do not take down the link automatically. This is the default if no other NETIO_AUTO_LINK_xxx flags are specified. This flag is ignored if it is specified along with NETIO_NO_XMIT and NETIO_NO_RECV. See link for more information on link management.
Definition at line 2551 of file netio_intf.h.
#define NETIO_AUTO_LINK_UPDN |
Set the desired state of the link to up, allowing any speeds which are supported by the link hardware, as part of this registration operation. Set the desired state of the link to down the next time no tiles are registered for packet reception or transmission. This flag is ignored if it is specified along with NETIO_NO_XMIT and NETIO_NO_RECV. See link for more information on link management.
Definition at line 2560 of file netio_intf.h.
#define NETIO_FIXED_BUFFER_VA 0x00000400 |
This registration wants NetIO buffers mapped at an application-specified virtual address.
NetIO buffers are by default created by the TMC common memory facility, which must be configured by a common ancestor of all processes sharing a network interface. When this flag is specified, NetIO buffers are instead mapped at an address chosen by the application (and specified in netio_input_config_t::fixed_buffer_va). This allows multiple unrelated but cooperating processes to share a NetIO interface. All processes sharing the same interface must specify this flag, and all must specify the same fixed virtual address.
netio_input_config_t::fixed_buffer_va must be a multiple of 16 MB, and the packet buffers will occupy netio_input_config_t::total_buffer_size bytes of virtual address space, beginning at that address. If any of those virtual addresses are currently occupied by other memory objects, like application or shared library code or data, netio_input_register() will return NETIO_FAULT. While it is impossible to provide a fixed_buffer_va which will work for all applications, a good first guess might be to use 0xb0000000 minus netio_input_config_t::total_buffer_size. If that fails, it might be helpful to consult the running application's virtual address description file (/proc/pid/maps) to see which regions of virtual address space are available.
Definition at line 2504 of file netio_intf.h.
#define NETIO_MAX_QUEUE_ID 255 |
Largest permissible queue identifier.
Definition at line 97 of file netio_intf.h.
#define NETIO_MAX_RECEIVE_PKTS 128 |
Lower bound on the maximum number of receive packets; may be higher than this on some interfaces.
Definition at line 2583 of file netio_intf.h.
#define NETIO_MAX_SEND_BUFFERS 16 |
Maximum number of send buffers, per packet size.
Definition at line 2586 of file netio_intf.h.
#define NETIO_MAX_TILES_PER_QUEUE 64 |
How many tiles can register for a given queue.
Definition at line 92 of file netio_intf.h.
#define NETIO_MIN_RECEIVE_PKTS 16 |
Minimum number of receive packets.
Definition at line 2579 of file netio_intf.h.
#define NETIO_MIN_SENDS_OUTSTANDING 16 |
Minimum number of EPP queue slots, and thus outstanding sends, per transmitting tile.
Definition at line 2593 of file netio_intf.h.
#define NETIO_NO_RECV 0x00000040 |
This registration may not call routines which receive packets.
Definition at line 2467 of file netio_intf.h.
#define NETIO_NO_XMIT 0x00000200 |
This registration may not call routines which transmit packets.
Definition at line 2477 of file netio_intf.h.
#define NETIO_NOREQUIRE_LINK_UP 0x00001000 |
This registration call will complete even if the network link is not up. Whenever the link is not up, packets will not be sent or received: netio_get_packet() will return NETIO_NOPKT once all queued packets have been drained, and netio_send_packet() and similar routines will return NETIO_QUEUE_FULL once the outgoing packet queue in the EPP or the I/O shim is full. See link for more information on link management.
Definition at line 2531 of file netio_intf.h.
#define NETIO_NUM_NODE_WEIGHTS 16 |
Number of NUMA nodes we can distribute buffers to.
Definition at line 2104 of file netio_intf.h.
#define NETIO_RECV 0x00000020 |
This registration may call routines which receive packets.
Definition at line 2464 of file netio_intf.h.
#define NETIO_REQUIRE_LINK_UP 0x00000800 |
This registration call will not complete unless the network link is up. The process will wait several seconds for this to happen (the precise interval is link-dependent), but if the link does not come up, NETIO_LINK_DOWN will be returned. This flag is the default if NETIO_NOREQUIRE_LINK_UP is not specified. Note that this flag by itself does not request that the link be brought up; that can be done with the NETIO_AUTO_LINK_UPDN or NETIO_AUTO_LINK_UP flags (the latter is the default if no NETIO_AUTO_LINK_xxx flags are specified), or by explicitly setting the link's desired state via netio_set(). If the link is not brought up by one of those methods, and this flag is specified, the registration operation will return NETIO_LINK_DOWN. This flag is ignored if it is specified along with NETIO_NO_XMIT and NETIO_NO_RECV. See link for more information on link management.
Definition at line 2521 of file netio_intf.h.
#define NETIO_STRICT_HOMING 0x00000002 |
Fail a registration request if we can't put packet buffers on the specified memory controllers.
Definition at line 2452 of file netio_intf.h.
#define NETIO_TAG_BRCM 0x00000010 |
This application expects Broadcom tags on its L2 headers.
Definition at line 2461 of file netio_intf.h.
#define NETIO_TAG_MRVL 0x00000008 |
This application expects Marvell extended tags on its L2 headers.
Definition at line 2458 of file netio_intf.h.
#define NETIO_TAG_NONE 0x00000004 |
This application expects no tags on its L2 headers.
Definition at line 2455 of file netio_intf.h.
#define NETIO_TOTAL_SENDS_OUTSTANDING 2015 |
Number of EPP queue slots, and thus outstanding sends, per EPP.
Definition at line 2589 of file netio_intf.h.
#define NETIO_XMIT 0x00000080 |
This registration may call routines which transmit packets.
Definition at line 2470 of file netio_intf.h.
#define NETIO_XMIT_CSUM 0x00000100 |
This registration may call routines which transmit packets with checksum acceleration.
Definition at line 2474 of file netio_intf.h.
typedef unsigned char netio_bucket_t |
A bucket-to-queue mapping.
Definition at line 317 of file netio_intf.h.
typedef unsigned int netio_size_t |
A packet size can always fit in a netio_size_t.
Definition at line 324 of file netio_intf.h.
typedef netio_group_t netio_vlan_t |
A VLAN-to-bucket identifier.
This tells us what to do with a given VLAN.
Definition at line 310 of file netio_intf.h.