Hi, I am running VPP on Cavium’s OCTEONTx processor which is using VNET_DPDK_PMD_THUNDERX driver in dpdk. I am running into failure because dpdk_lib_init() and dpdk_device_setup() functions are calling rte_eth_dev_set_mtu() with argument hi->max_packet_bytes.
1 Line no:112 src/plugins/dpdk/device/common.c rte_eth_dev_set_mtu (xd->device_index, hi->max_packet_bytes); 2 Line no: 674 src/plugins/dpdk/device/init.c rte_eth_dev_set_mtu (xd->device_index, hi->max_packet_bytes); I can see hi->max_packet_bytes being set to ETHERNET_MAX_PACKET_BYTES == 9216 which is not the MTU but instead max frame size (in case of OCTEONTx) The dpdk_lib_init() calls dpdk function: rte_eth_dev_info_get (i, &dev_info); to get dev_info.max_rx_pktlen hence MTU can be calculated as mtu = dev_info.max_rx_pktlen - sizeof(ethernet_header_t); which the one should be passed to rte_eth_dev_set_mtu() and not hi->max_packet_bytes which does not take into account what DPDK PMD driver passing max_rx_pktlen. Any comment/input will be helpful? Thanks, Nitin
_______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev