FD.io VPP  v18.11-rc0-18-g2a3fb1a
Vector Packet Processing
virtchnl.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  virtchnl_vsi_resource_t
 
struct  virtchnl_vf_resource_t
 
struct  virtchnl_pf_event_t
 
struct  virtchnl_version_info_t
 
struct  avf_aq_desc_t
 
struct  virtchnl_txq_info_t
 
struct  virtchnl_rxq_info_t
 
struct  virtchnl_queue_pair_info_t
 
struct  virtchnl_vsi_queue_config_info_t
 
struct  virtchnl_queue_select_t
 
struct  virtchnl_vector_map_t
 
struct  virtchnl_irq_map_info_t
 
struct  virtchnl_ether_addr_t
 
struct  virtchnl_ether_addr_list_t
 
struct  virtchnl_eth_stats_t
 
struct  virtchnl_rss_key_t
 
struct  virtchnl_rss_lut_t
 

Macros

#define VIRTCHNL_VERSION_MAJOR   1
 
#define VIRTCHNL_VERSION_MINOR   1
 
#define AVFINT_DYN_CTLN(x)   (0x00003800 + (0x4 * x))
 
#define AVFINT_ICR0   0x00004800
 
#define AVFINT_ICR0_ENA1   0x00005000
 
#define AVFINT_DYN_CTL0   0x00005C00
 
#define AVF_ARQBAH   0x00006000
 
#define AVF_ATQH   0x00006400
 
#define AVF_ATQLEN   0x00006800
 
#define AVF_ARQBAL   0x00006C00
 
#define AVF_ARQT   0x00007000
 
#define AVF_ARQH   0x00007400
 
#define AVF_ATQBAH   0x00007800
 
#define AVF_ATQBAL   0x00007C00
 
#define AVF_ARQLEN   0x00008000
 
#define AVF_ATQT   0x00008400
 
#define AVFGEN_RSTAT   0x00008800
 
#define AVF_QTX_TAIL(q)   (0x00000000 + (0x4 * q))
 
#define AVF_QRX_TAIL(q)   (0x00002000 + (0x4 * q))
 
#define AVF_AQ_F_DD   (1 << 0)
 
#define AVF_AQ_F_CMP   (1 << 1)
 
#define AVF_AQ_F_ERR   (1 << 2)
 
#define AVF_AQ_F_VFE   (1 << 3)
 
#define AVF_AQ_F_LB   (1 << 9)
 
#define AVF_AQ_F_RD   (1 << 10)
 
#define AVF_AQ_F_VFC   (1 << 11)
 
#define AVF_AQ_F_BUF   (1 << 12)
 
#define AVF_AQ_F_SI   (1 << 13)
 
#define AVF_AQ_F_EI   (1 << 14)
 
#define AVF_AQ_F_FE   (1 << 15)
 
#define foreach_virtchnl_op
 
#define foreach_avf_vf_cap_flag
 
#define foreach_virtchnl_link_speed
 
#define foreach_virtchnl_eth_stats
 

Enumerations

enum  virtchnl_ops_t { VIRTCHNL_N_OPS }
 
enum  virtchnl_status_code_t {
  VIRTCHNL_STATUS_SUCCESS = 0, VIRTCHNL_ERR_PARAM = -5, VIRTCHNL_STATUS_ERR_OPCODE_MISMATCH = -38, VIRTCHNL_STATUS_ERR_CQP_COMPL_ERROR = -39,
  VIRTCHNL_STATUS_ERR_INVALID_VF_ID = -40, VIRTCHNL_STATUS_NOT_SUPPORTED = -64
}
 
enum  avf_vf_cap_flag_t { foreach_avf_vf_cap_flag }
 
enum  virtchnl_vsi_type_t { VIRTCHNL_VSI_TYPE_INVALID = 0, VIRTCHNL_VSI_SRIOV = 6 }
 
enum  virtchnl_event_codes_t { VIRTCHNL_EVENT_UNKNOWN = 0, VIRTCHNL_EVENT_LINK_CHANGE, VIRTCHNL_EVENT_RESET_IMPENDING, VIRTCHNL_EVENT_PF_DRIVER_CLOSE }
 
enum  virtchnl_link_speed_t { VIRTCHNL_LINK_SPEED_UNKNOWN = 0, foreach_virtchnl_link_speed }
 

Functions

 STATIC_ASSERT_SIZEOF (virtchnl_pf_event_t, 16)
 
 STATIC_ASSERT_SIZEOF (avf_aq_desc_t, 32)
 
 STATIC_ASSERT_SIZEOF (virtchnl_txq_info_t, 24)
 
 STATIC_ASSERT_SIZEOF (virtchnl_rxq_info_t, 40)
 
 STATIC_ASSERT_SIZEOF (virtchnl_vsi_queue_config_info_t, 72)
 
 STATIC_ASSERT_SIZEOF (virtchnl_queue_select_t, 12)
 
 STATIC_ASSERT_SIZEOF (virtchnl_irq_map_info_t, 14)
 
 STATIC_ASSERT_SIZEOF (virtchnl_rss_key_t, 6)
 
 STATIC_ASSERT_SIZEOF (virtchnl_rss_lut_t, 6)
 

Macro Definition Documentation

#define AVF_AQ_F_BUF   (1 << 12)

Definition at line 50 of file virtchnl.h.

#define AVF_AQ_F_CMP   (1 << 1)

Definition at line 44 of file virtchnl.h.

#define AVF_AQ_F_DD   (1 << 0)

Definition at line 43 of file virtchnl.h.

#define AVF_AQ_F_EI   (1 << 14)

Definition at line 52 of file virtchnl.h.

#define AVF_AQ_F_ERR   (1 << 2)

Definition at line 45 of file virtchnl.h.

#define AVF_AQ_F_FE   (1 << 15)

Definition at line 53 of file virtchnl.h.

#define AVF_AQ_F_LB   (1 << 9)

Definition at line 47 of file virtchnl.h.

#define AVF_AQ_F_RD   (1 << 10)

Definition at line 48 of file virtchnl.h.

#define AVF_AQ_F_SI   (1 << 13)

Definition at line 51 of file virtchnl.h.

#define AVF_AQ_F_VFC   (1 << 11)

Definition at line 49 of file virtchnl.h.

#define AVF_AQ_F_VFE   (1 << 3)

Definition at line 46 of file virtchnl.h.

#define AVF_ARQBAH   0x00006000

Definition at line 29 of file virtchnl.h.

#define AVF_ARQBAL   0x00006C00

Definition at line 32 of file virtchnl.h.

#define AVF_ARQH   0x00007400

Definition at line 34 of file virtchnl.h.

#define AVF_ARQLEN   0x00008000

Definition at line 37 of file virtchnl.h.

#define AVF_ARQT   0x00007000

Definition at line 33 of file virtchnl.h.

#define AVF_ATQBAH   0x00007800

Definition at line 35 of file virtchnl.h.

#define AVF_ATQBAL   0x00007C00

Definition at line 36 of file virtchnl.h.

#define AVF_ATQH   0x00006400

Definition at line 30 of file virtchnl.h.

#define AVF_ATQLEN   0x00006800

Definition at line 31 of file virtchnl.h.

#define AVF_ATQT   0x00008400

Definition at line 38 of file virtchnl.h.

#define AVF_QRX_TAIL (   q)    (0x00002000 + (0x4 * q))

Definition at line 41 of file virtchnl.h.

#define AVF_QTX_TAIL (   q)    (0x00000000 + (0x4 * q))

Definition at line 40 of file virtchnl.h.

#define AVFGEN_RSTAT   0x00008800

Definition at line 39 of file virtchnl.h.

#define AVFINT_DYN_CTL0   0x00005C00

Definition at line 28 of file virtchnl.h.

#define AVFINT_DYN_CTLN (   x)    (0x00003800 + (0x4 * x))

Definition at line 25 of file virtchnl.h.

#define AVFINT_ICR0   0x00004800

Definition at line 26 of file virtchnl.h.

#define AVFINT_ICR0_ENA1   0x00005000

Definition at line 27 of file virtchnl.h.

#define foreach_avf_vf_cap_flag
Value:
_( 0, L2, "l2") \
_( 1, IWARP, "iwarp") \
_( 2, RSVD, "rsvd") \
_( 3, RSS_AQ, "rss-aq") \
_( 4, RSS_REG, "rss-reg") \
_( 5, WB_ON_ITR, "wb-on-itr") \
_( 6, REQ_QUEUES, "req-queues") \
_(16, VLAN, "vlan") \
_(17, RX_POLLING, "rx-polling") \
_(18, RSS_PCTYPE_V2, "rss-pctype-v2") \
_(19, RSS_PF, "rss-pf") \
_(20, ENCAP, "encap") \
_(21, ENCAP_CSUM, "encap-csum") \
_(22, RX_ENCAP_CSUM, "rx-encap-csum")
#define ENCAP
Definition: main.c:56

Definition at line 106 of file virtchnl.h.

#define foreach_virtchnl_eth_stats
Value:
_(rx_bytes) \
_(rx_unicast) \
_(rx_multicast) \
_(rx_broadcast) \
_(rx_discards) \
_(rx_unknown_protocol)\
_(tx_bytes) \
_(tx_unicast) \
_(tx_multicast) \
_(tx_broadcast) \
_(tx_discards) \
_(tx_errors)

Definition at line 319 of file virtchnl.h.

#define foreach_virtchnl_link_speed
Value:
_(1, 100MB, "100 Mbps") \
_(2, 1GB, "1 Gbps") \
_(3, 10GB, "10 Gbps") \
_(4, 40GB, "40 Gbps") \
_(5, 20GB, "20 Gbps") \
_(6, 25GB, "25 Gbps")

Definition at line 164 of file virtchnl.h.

#define foreach_virtchnl_op
Value:
_(0, UNKNOWN) \
_(1, VERSION) \
_(2, RESET_VF) \
_(3, GET_VF_RESOURCES) \
_(4, CONFIG_TX_QUEUE) \
_(5, CONFIG_RX_QUEUE) \
_(6, CONFIG_VSI_QUEUES) \
_(7, CONFIG_IRQ_MAP) \
_(8, ENABLE_QUEUES) \
_(9, DISABLE_QUEUES) \
_(10, ADD_ETH_ADDR) \
_(11, DEL_ETH_ADDR) \
_(12, ADD_VLAN) \
_(13, DEL_VLAN) \
_(14, CONFIG_PROMISCUOUS_MODE) \
_(15, GET_STATS) \
_(16, RSVD) \
_(17, EVENT) \
_(18, UNDEF_18) \
_(19, UNDEF_19) \
_(20, IWARP) \
_(21, CONFIG_IWARP_IRQ_MAP) \
_(22, RELEASE_IWARP_IRQ_MAP) \
_(23, CONFIG_RSS_KEY) \
_(24, CONFIG_RSS_LUT) \
_(25, GET_RSS_HENA_CAPS) \
_(26, SET_RSS_HENA) \
_(27, ENABLE_VLAN_STRIPPING) \
_(28, DISABLE_VLAN_STRIPPING) \
_(29, REQUEST_QUEUES)

Definition at line 56 of file virtchnl.h.

#define VIRTCHNL_VERSION_MAJOR   1

Definition at line 21 of file virtchnl.h.

#define VIRTCHNL_VERSION_MINOR   1

Definition at line 22 of file virtchnl.h.

Enumeration Type Documentation

Enumerator
foreach_avf_vf_cap_flag 

Definition at line 122 of file virtchnl.h.

Enumerator
VIRTCHNL_EVENT_UNKNOWN 
VIRTCHNL_EVENT_LINK_CHANGE 
VIRTCHNL_EVENT_RESET_IMPENDING 
VIRTCHNL_EVENT_PF_DRIVER_CLOSE 

Definition at line 156 of file virtchnl.h.

Enumerator
VIRTCHNL_LINK_SPEED_UNKNOWN 
foreach_virtchnl_link_speed 

Definition at line 172 of file virtchnl.h.

Enumerator
VIRTCHNL_N_OPS 

Definition at line 88 of file virtchnl.h.

Enumerator
VIRTCHNL_STATUS_SUCCESS 
VIRTCHNL_ERR_PARAM 
VIRTCHNL_STATUS_ERR_OPCODE_MISMATCH 
VIRTCHNL_STATUS_ERR_CQP_COMPL_ERROR 
VIRTCHNL_STATUS_ERR_INVALID_VF_ID 
VIRTCHNL_STATUS_NOT_SUPPORTED 

Definition at line 96 of file virtchnl.h.

Enumerator
VIRTCHNL_VSI_TYPE_INVALID 
VIRTCHNL_VSI_SRIOV 

Definition at line 129 of file virtchnl.h.

Function Documentation

STATIC_ASSERT_SIZEOF ( virtchnl_pf_event_t  ,
16   
)
STATIC_ASSERT_SIZEOF ( avf_aq_desc_t  ,
32   
)
STATIC_ASSERT_SIZEOF ( virtchnl_txq_info_t  ,
24   
)
STATIC_ASSERT_SIZEOF ( virtchnl_rxq_info_t  ,
40   
)
STATIC_ASSERT_SIZEOF ( virtchnl_vsi_queue_config_info_t  ,
72   
)
STATIC_ASSERT_SIZEOF ( virtchnl_queue_select_t  ,
12   
)
STATIC_ASSERT_SIZEOF ( virtchnl_irq_map_info_t  ,
14   
)
STATIC_ASSERT_SIZEOF ( virtchnl_rss_key_t  ,
 
)
STATIC_ASSERT_SIZEOF ( virtchnl_rss_lut_t  ,
 
)