Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
drv_xgbe_impl.h File Reference
#include <hv/netio_errors.h>
#include <hv/netio_intf.h>
#include <hv/drv_xgbe_intf.h>

Go to the source code of this file.

Data Structures

struct  __netio_packet_queue_t
 
struct  __netio_buffer_queue_t
 
struct  __netio_queue_impl_t
 
struct  __netio_queue_user_impl_t
 
struct  __netio_send_cmd_t
 

Macros

#define LOG2_NUM_GROUPS   (12)
 
#define NUM_GROUPS   (1 << LOG2_NUM_GROUPS)
 
#define EPP_REQS_PER_TILE   (32)
 
#define EDMA_WDS_NO_CSUM   8
 
#define EDMA_WDS_CSUM   10
 
#define EDMA_WDS_TOTAL   128
 
#define SIZE_SMALL   (1)
 
#define SIZE_LARGE   (2)
 
#define SIZE_JUMBO   (0)
 
#define NETIO_NUM_SIZES   3
 
#define NETIO_DEFAULT_SMALL_PACKETS   2750
 
#define NETIO_DEFAULT_LARGE_PACKETS   2500
 
#define NETIO_DEFAULT_JUMBO_PACKETS   250
 
#define NETIO_ARENA_SHIFT   24 /* 16 MB */
 
#define NETIO_ARENA_SIZE   (1 << NETIO_ARENA_SHIFT)
 
#define NETIO_GROUP_CHUNK_SIZE   64
 
#define NETIO_BUCKET_CHUNK_SIZE   64
 
#define __NETIO_SEND_FLG_ACK   0x1
 
#define __NETIO_SEND_FLG_CSUM   0x2
 
#define __NETIO_SEND_FLG_COMPLETION   0x4
 
#define __NETIO_SEND_FLG_XSEG_SHIFT   3
 
#define __NETIO_SEND_FLG_XSEG_WIDTH   2
 

Typedefs

typedef struct __netio_queue_impl_t netio_queue_impl_t
 
typedef struct
__netio_queue_user_impl_t 
netio_queue_user_impl_t
 

Macro Definition Documentation

#define __NETIO_SEND_FLG_ACK   0x1

Flags used in two contexts:

  • As the "flags" member in the __netio_send_cmd_t, above; used only for netio_pkt_send_{prepare,commit}.
  • As part of the flags passed to the various send packet fast I/O calls.Need acknowledgement on this packet. Note that some code in the normal send_pkt fast I/O handler assumes that this is equal to 1.

Definition at line 283 of file drv_xgbe_impl.h.

#define __NETIO_SEND_FLG_COMPLETION   0x4

Get a completion on this packet. Only used with multi-segment sends.

Definition at line 291 of file drv_xgbe_impl.h.

#define __NETIO_SEND_FLG_CSUM   0x2

Do checksum on this packet. (Only used with the __netio_send_cmd_t; normal packet sends use a special fast I/O index to denote checksumming, and multi-segment sends test the checksum descriptor.)

Definition at line 288 of file drv_xgbe_impl.h.

#define __NETIO_SEND_FLG_XSEG_SHIFT   3

Position of the number-of-extra-segments value in the flags word. Only used with multi-segment sends.

Definition at line 295 of file drv_xgbe_impl.h.

#define __NETIO_SEND_FLG_XSEG_WIDTH   2

Width of the number-of-extra-segments value in the flags word.

Definition at line 298 of file drv_xgbe_impl.h.

#define EDMA_WDS_CSUM   10

Words used in an eDMA command with checksum acceleration.

Definition at line 39 of file drv_xgbe_impl.h.

#define EDMA_WDS_NO_CSUM   8

Words used in an eDMA command without checksum acceleration.

Definition at line 37 of file drv_xgbe_impl.h.

#define EDMA_WDS_TOTAL   128

Total available words in the eDMA command FIFO.

Definition at line 41 of file drv_xgbe_impl.h.

#define EPP_REQS_PER_TILE   (32)

Number of output requests we'll buffer per tile.

Definition at line 34 of file drv_xgbe_impl.h.

#define LOG2_NUM_GROUPS   (12)

How many groups we have (log2).

Definition at line 29 of file drv_xgbe_impl.h.

#define NETIO_ARENA_SHIFT   24 /* 16 MB */

Log2 of the size of a memory arena.

Definition at line 74 of file drv_xgbe_impl.h.

#define NETIO_ARENA_SIZE   (1 << NETIO_ARENA_SHIFT)

Size of a memory arena.

Definition at line 76 of file drv_xgbe_impl.h.

#define NETIO_BUCKET_CHUNK_SIZE   64

Max # buckets in one IPP request

Definition at line 256 of file drv_xgbe_impl.h.

#define NETIO_DEFAULT_JUMBO_PACKETS   250

The default number of jumbo packets.

Definition at line 70 of file drv_xgbe_impl.h.

#define NETIO_DEFAULT_LARGE_PACKETS   2500

The default number of large packets.

Definition at line 68 of file drv_xgbe_impl.h.

#define NETIO_DEFAULT_SMALL_PACKETS   2750

The default number of small packets.

Definition at line 66 of file drv_xgbe_impl.h.

#define NETIO_GROUP_CHUNK_SIZE   64

Max # groups in one IPP request

Definition at line 255 of file drv_xgbe_impl.h.

#define NETIO_NUM_SIZES   3

The number of "SIZE_xxx" values.

Definition at line 57 of file drv_xgbe_impl.h.

#define NUM_GROUPS   (1 << LOG2_NUM_GROUPS)

How many groups we have.

Definition at line 31 of file drv_xgbe_impl.h.

#define SIZE_JUMBO   (0)

Jumbo packet queue.

Definition at line 54 of file drv_xgbe_impl.h.

#define SIZE_LARGE   (2)

Large packet queue.

Definition at line 53 of file drv_xgbe_impl.h.

#define SIZE_SMALL   (1)

Small packet queue.

Definition at line 52 of file drv_xgbe_impl.h.

Typedef Documentation

An object for providing Ethernet packets to a process.

An object for managing the user end of a NetIO queue.