The maximum size of a frame that is transmitted without fragmentation can be configured using DPDK API, rte_eth_dev_set_mtu.
Maximum transmission unit (MTU)
The rte_eth_dev_set_mtu function sets the maximum transmission unit
(MTU) of the SmartNIC. If a received frame exceeds the MTU size, and the Don't Fragment flag
(DF) bit is not set, it is fragmented. The MTU size does not include preamble/SFD, Ethernet
header and CRC. The supported values are as follows:
- Minimum MTU: 512 byes
- Maximum MTU: 9982 byes
- Default MTU: 1500 bytes
Note: Fragmentation is supported in IPv4 only.
General operation
Fragmentation is the last process in the SmartNIC. This means that encapsulation/decapsulation impacts the decision of whether a frame needs fragmentation or not. If a received frame exceeds the MTU size, and the Don't Fragment flag (DF) bit is set, then the frame is discarded by the SmartNIC. When an application transmits a frame larger than the MTU, the SmartNIC will fragment it before transmitting it through a port. If it is attempted to transmit a frame larger than the maximum MTU of 9982 bytes, the frame will be discarded.
Related links
See the DPDK API documentation for further details: