X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Faxgbe%2Faxgbe_ethdev.h;h=a6226729fe4d3e8c4bebcc3eaa9f0c4cd1dbf300;hb=c995b00572f88792b8257e59ad5abe82cd95e8dd;hp=35a8476466e6a1814b4e07fafebc6e5fae742501;hpb=e04449488fdb1ed4d94a2bd1e7f24dfeed84d862;p=dpdk.git diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h index 35a8476466..a6226729fe 100644 --- a/drivers/net/axgbe/axgbe_ethdev.h +++ b/drivers/net/axgbe/axgbe_ethdev.h @@ -125,6 +125,12 @@ /* MDIO port types */ #define AXGMAC_MAX_C22_PORT 3 +/* The max frame size with default MTU */ +#define AXGBE_ETH_MAX_LEN ( \ + RTE_ETHER_MTU + \ + RTE_ETHER_HDR_LEN + \ + RTE_ETHER_CRC_LEN) + /* Helper macro for descriptor handling * Always use AXGBE_GET_DESC_DATA to access the descriptor data * since the index is free-running and needs to be and-ed @@ -299,6 +305,13 @@ struct axgbe_hw_if { int (*config_tx_flow_control)(struct axgbe_port *); int (*config_rx_flow_control)(struct axgbe_port *); + /* vlan */ + int (*enable_rx_vlan_stripping)(struct axgbe_port *); + int (*disable_rx_vlan_stripping)(struct axgbe_port *); + int (*enable_rx_vlan_filtering)(struct axgbe_port *); + int (*disable_rx_vlan_filtering)(struct axgbe_port *); + int (*update_vlan_hash_table)(struct axgbe_port *); + int (*exit)(struct axgbe_port *); }; @@ -433,6 +446,12 @@ struct axgbe_hw_features { unsigned int tx_ch_cnt; /* Number of DMA Transmit Channels */ unsigned int pps_out_num; /* Number of PPS outputs */ unsigned int aux_snap_num; /* Number of Aux snapshot inputs */ + + /* HW Feature Register3 */ + unsigned int tx_q_vlan_tag_ins; /* Queue/Channel based VLAN tag */ + /* insertion on Tx Enable */ + unsigned int no_of_vlan_extn; /* Number of Extended VLAN Tag */ + /* Filters Enabled */ }; struct axgbe_version_data { @@ -654,6 +673,9 @@ struct axgbe_port { unsigned int uc_hash_mac_addr; unsigned int uc_hash_table[AXGBE_MAC_HASH_TABLE_SIZE]; + /* Filtering support */ + unsigned long active_vlans[VLAN_TABLE_SIZE]; + /* For IEEE1588 PTP */ struct rte_timecounter systime_tc; struct rte_timecounter tx_tstamp;