diff options
author | Bogdan Hamciuc <bogdan.hamciuc@freescale.com> | 2013-01-07 22:36:02 (GMT) |
---|---|---|
committer | Fleming Andrew-AFLEMING <AFLEMING@freescale.com> | 2013-04-08 23:10:16 (GMT) |
commit | 676645ac7658c2445cf1f4d9541602c4e0af10e4 (patch) | |
tree | f24dceb68a2785bbd58faa3d8b9396f8fc3361f3 /drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c | |
parent | 8050a6a82c5143463fd320e84325fa3b4fcd9880 (diff) | |
download | linux-fsl-qoriq-676645ac7658c2445cf1f4d9541602c4e0af10e4.tar.xz |
dpaa_eth: MTU checking is not required for IP reassembled frames
The IP reassembled packets are not to be limited to MTU size.
Change-Id: I8c17af7e1396de3e4faf5716c97b24fb418693dd
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
(cherry picked from commit eba22bc0fe347e15d7a1b49952f695adcbb4d4c8)
Reviewed-on: http://git.am.freescale.net:8181/1036
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c')
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c index d93e358..f636d6b 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c @@ -510,7 +510,9 @@ void __hot _dpa_rx(struct net_device *net_dev, skb->protocol = eth_type_trans(skb, net_dev); - if (unlikely(dpa_check_rx_mtu(skb, net_dev->mtu))) { + /* IP Reassembled frames are allowed to be larger than MTU */ + if (unlikely(dpa_check_rx_mtu(skb, net_dev->mtu) && + !(fd_status & FM_FD_IPR))) { percpu_priv->stats.rx_dropped++; goto drop_bad_frame; } |