There are currently some problems in ofp_mtu_set() function:
-
Used odp_pktio_mtu() function is deprecated in the latest ODP API (new ones are odp_pktin_maxlen() and odp_pktout_maxlen()).
-
The value returned by odp_pktio_mtu() is (should be) the link frame size (which includes ethernet header). ofp_mtu_set() assumes wrongly that this value doesn't include ethernet header size. As a result fragmentation doesn't work in OFP with linux-generic ODP for DPDK interfaces.
-
The overall logic of MTU size checking/setting is not consistent inside ofp_mtu_set() (uses e.g. hardcoded value 9000).