Hello All,
When a outgoing packet is sent with data Len more than 1514 which will be a
case in VLAN (Max 1518 ) the packet is getting dropped because of the below
code snippet. This looks incorrect as in case of VLAN .
FUNCTION NAME: vmxnet3_xmit_pkts
/* Needs to minus ether header len */
if(txm->pkt.data_len >
(hw->cur_mtu + ETHER_HDR_LEN)) {
PMD_TX_LOG(DEBUG, "Packet data_len higher than MTU\n");
rte_pktmbuf_free(tx_pkts[nb_tx]);
txq->stats.drop_total++;
nb_tx++;
continue;
}
#define ETHER_ADDR_LEN 6 /**< Length of Ethernet address. */
#define ETHER_TYPE_LEN 2 /**< Length of Ethernet type field. */
#define ETHER_CRC_LEN 4 /**< Length of Ethernet CRC. */
#define ETHER_HDR_LEN \
(ETHER_ADDR_LEN * 2 + ETHER_TYPE_LEN) /**< Length of Ethernet
header. */
But in case of VLAN the Ethernet header is 18 bytes. Does this mean we do not
support VLAN for VMXNET3 PMD? Thanks.
Regards
Suyash Karmarkar