10 #ifndef __XEN_PUBLIC_IO_NETIF_H__ 11 #define __XEN_PUBLIC_IO_NETIF_H__ 16 #include "../grant_table.h" 34 #define XEN_NETIF_NR_SLOTS_MIN 18 228 #define _XEN_NETIF_CTRL_HASH_TYPE_IPV4 0 229 #define XEN_NETIF_CTRL_HASH_TYPE_IPV4 \ 230 (1 << _XEN_NETIF_CTRL_HASH_TYPE_IPV4) 243 #define _XEN_NETIF_CTRL_HASH_TYPE_IPV4_TCP 1 244 #define XEN_NETIF_CTRL_HASH_TYPE_IPV4_TCP \ 245 (1 << _XEN_NETIF_CTRL_HASH_TYPE_IPV4_TCP) 255 #define _XEN_NETIF_CTRL_HASH_TYPE_IPV6 2 256 #define XEN_NETIF_CTRL_HASH_TYPE_IPV6 \ 257 (1 << _XEN_NETIF_CTRL_HASH_TYPE_IPV6) 270 #define _XEN_NETIF_CTRL_HASH_TYPE_IPV6_TCP 3 271 #define XEN_NETIF_CTRL_HASH_TYPE_IPV6_TCP \ 272 (1 << _XEN_NETIF_CTRL_HASH_TYPE_IPV6_TCP) 279 #define XEN_NETIF_CTRL_HASH_ALGORITHM_NONE 0 285 #define XEN_NETIF_CTRL_HASH_ALGORITHM_TOEPLITZ 1 303 #ifdef XEN_NETIF_DEFINE_TOEPLITZ 309 unsigned int keyi, bufi;
314 for (keyi = 0; keyi < 8; keyi++) {
316 prefix |= (keyi < keylen) ?
key[keyi] : 0;
319 for (bufi = 0; bufi < buflen; bufi++) {
334 prefix |= (keyi < keylen) ?
key[keyi] : 0;
365 #define XEN_NETIF_CTRL_TYPE_INVALID 0 366 #define XEN_NETIF_CTRL_TYPE_GET_HASH_FLAGS 1 367 #define XEN_NETIF_CTRL_TYPE_SET_HASH_FLAGS 2 368 #define XEN_NETIF_CTRL_TYPE_SET_HASH_KEY 3 369 #define XEN_NETIF_CTRL_TYPE_GET_HASH_MAPPING_SIZE 4 370 #define XEN_NETIF_CTRL_TYPE_SET_HASH_MAPPING_SIZE 5 371 #define XEN_NETIF_CTRL_TYPE_SET_HASH_MAPPING 6 372 #define XEN_NETIF_CTRL_TYPE_SET_HASH_ALGORITHM 7 373 #define XEN_NETIF_CTRL_TYPE_GET_GREF_MAPPING_SIZE 8 374 #define XEN_NETIF_CTRL_TYPE_ADD_GREF_MAPPING 9 375 #define XEN_NETIF_CTRL_TYPE_DEL_GREF_MAPPING 10 405 #define XEN_NETIF_CTRL_STATUS_SUCCESS 0 406 #define XEN_NETIF_CTRL_STATUS_NOT_SUPPORTED 1 407 #define XEN_NETIF_CTRL_STATUS_INVALID_PARAMETER 2 408 #define XEN_NETIF_CTRL_STATUS_BUFFER_OVERFLOW 3 445 #define _XEN_NETIF_CTRLF_GREF_readonly 0 446 #define XEN_NETIF_CTRLF_GREF_readonly (1U<<_XEN_NETIF_CTRLF_GREF_readonly) 960 #define _NETTXF_csum_blank (0) 961 #define NETTXF_csum_blank (1U<<_NETTXF_csum_blank) 964 #define _NETTXF_data_validated (1) 965 #define NETTXF_data_validated (1U<<_NETTXF_data_validated) 968 #define _NETTXF_more_data (2) 969 #define NETTXF_more_data (1U<<_NETTXF_more_data) 972 #define _NETTXF_extra_info (3) 973 #define NETTXF_extra_info (1U<<_NETTXF_extra_info) 975 #define XEN_NETIF_MAX_TX_SIZE 0xFFFF 986 #define XEN_NETIF_EXTRA_TYPE_NONE (0) 987 #define XEN_NETIF_EXTRA_TYPE_GSO (1) 988 #define XEN_NETIF_EXTRA_TYPE_MCAST_ADD (2) 989 #define XEN_NETIF_EXTRA_TYPE_MCAST_DEL (3) 990 #define XEN_NETIF_EXTRA_TYPE_HASH (4) 991 #define XEN_NETIF_EXTRA_TYPE_MAX (5) 994 #define _XEN_NETIF_EXTRA_FLAG_MORE (0) 995 #define XEN_NETIF_EXTRA_FLAG_MORE (1U<<_XEN_NETIF_EXTRA_FLAG_MORE) 998 #define XEN_NETIF_GSO_TYPE_NONE (0) 999 #define XEN_NETIF_GSO_TYPE_TCPV4 (1) 1000 #define XEN_NETIF_GSO_TYPE_TCPV6 (2) 1043 #define _NETRXF_data_validated (0) 1044 #define NETRXF_data_validated (1U<<_NETRXF_data_validated) 1047 #define _NETRXF_csum_blank (1) 1048 #define NETRXF_csum_blank (1U<<_NETRXF_csum_blank) 1051 #define _NETRXF_more_data (2) 1052 #define NETRXF_more_data (1U<<_NETRXF_more_data) 1055 #define _NETRXF_extra_info (3) 1056 #define NETRXF_extra_info (1U<<_NETRXF_extra_info) 1059 #define _NETRXF_gso_prefix (4) 1060 #define NETRXF_gso_prefix (1U<<_NETRXF_gso_prefix) 1077 #define NETIF_RSP_DROPPED -2 1078 #define NETIF_RSP_ERROR -1 1079 #define NETIF_RSP_OKAY 0 1081 #define NETIF_RSP_NULL 1
pseudo_bit_t hash[0x00010]
DEFINE_RING_TYPES(xen_netif_ctrl, struct xen_netif_ctrl_request, struct xen_netif_ctrl_response)
unsigned long long uint64_t
static unsigned int unsigned int bit