10 #ifndef __XEN_PUBLIC_IO_NETIF_H__ 11 #define __XEN_PUBLIC_IO_NETIF_H__ 17 #include "../grant_table.h" 35 #define XEN_NETIF_NR_SLOTS_MIN 18 229 #define _XEN_NETIF_CTRL_HASH_TYPE_IPV4 0 230 #define XEN_NETIF_CTRL_HASH_TYPE_IPV4 \ 231 (1 << _XEN_NETIF_CTRL_HASH_TYPE_IPV4) 244 #define _XEN_NETIF_CTRL_HASH_TYPE_IPV4_TCP 1 245 #define XEN_NETIF_CTRL_HASH_TYPE_IPV4_TCP \ 246 (1 << _XEN_NETIF_CTRL_HASH_TYPE_IPV4_TCP) 256 #define _XEN_NETIF_CTRL_HASH_TYPE_IPV6 2 257 #define XEN_NETIF_CTRL_HASH_TYPE_IPV6 \ 258 (1 << _XEN_NETIF_CTRL_HASH_TYPE_IPV6) 271 #define _XEN_NETIF_CTRL_HASH_TYPE_IPV6_TCP 3 272 #define XEN_NETIF_CTRL_HASH_TYPE_IPV6_TCP \ 273 (1 << _XEN_NETIF_CTRL_HASH_TYPE_IPV6_TCP) 280 #define XEN_NETIF_CTRL_HASH_ALGORITHM_NONE 0 286 #define XEN_NETIF_CTRL_HASH_ALGORITHM_TOEPLITZ 1 304 #ifdef XEN_NETIF_DEFINE_TOEPLITZ 310 unsigned int keyi, bufi;
315 for (keyi = 0; keyi < 8; keyi++) {
317 prefix |= (keyi < keylen) ?
key[keyi] : 0;
320 for (bufi = 0; bufi < buflen; bufi++) {
335 prefix |= (keyi < keylen) ?
key[keyi] : 0;
366 #define XEN_NETIF_CTRL_TYPE_INVALID 0 367 #define XEN_NETIF_CTRL_TYPE_GET_HASH_FLAGS 1 368 #define XEN_NETIF_CTRL_TYPE_SET_HASH_FLAGS 2 369 #define XEN_NETIF_CTRL_TYPE_SET_HASH_KEY 3 370 #define XEN_NETIF_CTRL_TYPE_GET_HASH_MAPPING_SIZE 4 371 #define XEN_NETIF_CTRL_TYPE_SET_HASH_MAPPING_SIZE 5 372 #define XEN_NETIF_CTRL_TYPE_SET_HASH_MAPPING 6 373 #define XEN_NETIF_CTRL_TYPE_SET_HASH_ALGORITHM 7 374 #define XEN_NETIF_CTRL_TYPE_GET_GREF_MAPPING_SIZE 8 375 #define XEN_NETIF_CTRL_TYPE_ADD_GREF_MAPPING 9 376 #define XEN_NETIF_CTRL_TYPE_DEL_GREF_MAPPING 10 406 #define XEN_NETIF_CTRL_STATUS_SUCCESS 0 407 #define XEN_NETIF_CTRL_STATUS_NOT_SUPPORTED 1 408 #define XEN_NETIF_CTRL_STATUS_INVALID_PARAMETER 2 409 #define XEN_NETIF_CTRL_STATUS_BUFFER_OVERFLOW 3 446 #define _XEN_NETIF_CTRLF_GREF_readonly 0 447 #define XEN_NETIF_CTRLF_GREF_readonly (1U<<_XEN_NETIF_CTRLF_GREF_readonly) 961 #define _NETTXF_csum_blank (0) 962 #define NETTXF_csum_blank (1U<<_NETTXF_csum_blank) 965 #define _NETTXF_data_validated (1) 966 #define NETTXF_data_validated (1U<<_NETTXF_data_validated) 969 #define _NETTXF_more_data (2) 970 #define NETTXF_more_data (1U<<_NETTXF_more_data) 973 #define _NETTXF_extra_info (3) 974 #define NETTXF_extra_info (1U<<_NETTXF_extra_info) 976 #define XEN_NETIF_MAX_TX_SIZE 0xFFFF 987 #define XEN_NETIF_EXTRA_TYPE_NONE (0) 988 #define XEN_NETIF_EXTRA_TYPE_GSO (1) 989 #define XEN_NETIF_EXTRA_TYPE_MCAST_ADD (2) 990 #define XEN_NETIF_EXTRA_TYPE_MCAST_DEL (3) 991 #define XEN_NETIF_EXTRA_TYPE_HASH (4) 992 #define XEN_NETIF_EXTRA_TYPE_MAX (5) 995 #define _XEN_NETIF_EXTRA_FLAG_MORE (0) 996 #define XEN_NETIF_EXTRA_FLAG_MORE (1U<<_XEN_NETIF_EXTRA_FLAG_MORE) 999 #define XEN_NETIF_GSO_TYPE_NONE (0) 1000 #define XEN_NETIF_GSO_TYPE_TCPV4 (1) 1001 #define XEN_NETIF_GSO_TYPE_TCPV6 (2) 1044 #define _NETRXF_data_validated (0) 1045 #define NETRXF_data_validated (1U<<_NETRXF_data_validated) 1048 #define _NETRXF_csum_blank (1) 1049 #define NETRXF_csum_blank (1U<<_NETRXF_csum_blank) 1052 #define _NETRXF_more_data (2) 1053 #define NETRXF_more_data (1U<<_NETRXF_more_data) 1056 #define _NETRXF_extra_info (3) 1057 #define NETRXF_extra_info (1U<<_NETRXF_extra_info) 1060 #define _NETRXF_gso_prefix (4) 1061 #define NETRXF_gso_prefix (1U<<_NETRXF_gso_prefix) 1078 #define NETIF_RSP_DROPPED -2 1079 #define NETIF_RSP_ERROR -1 1080 #define NETIF_RSP_OKAY 0 1082 #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