422ba91716
Currently, enic completely ignores the requested max Rx packet size (rxmode.max_rx_pkt_len). The desired behavior is that the NIC hardware drops packets larger than the requested size, even though they are still smaller than MTU. Cisco VIC does not have such a feature. But, we can accomplish a similar (not same) effect by reducing the size of posted receive buffers. Packets larger than the posted size get truncated, and the receive handler drops them. This is also how the kernel enic driver enforces the Rx side MTU. This workaround works only when scatter mode is *not* used. When scatter is used, there is currently no way to support rxmode.max_rx_pkt_len, as the NIC always receives packets up to MTU. For posterity, add a copious amount of comments regarding the hardware's drop/receive behavior with respect to max/current MTU. Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com> Reviewed-by: John Daley <johndale@cisco.com>