shortcut-fe: correctly cooperate with GSO
Shortcut-fe should ignore MTU validation when packet is going to do
generic segmentation offloading(GSO).
CRs-Fixed: 820462
Change-Id: I65d298fed744e62f38e37075c314e557fb99c6c4
Signed-off-by: Xiaoping Fan <xfan@codeaurora.org>
diff --git a/shortcut-fe/sfe_ipv4.c b/shortcut-fe/sfe_ipv4.c
index da70e24..cb5d8a6 100644
--- a/shortcut-fe/sfe_ipv4.c
+++ b/shortcut-fe/sfe_ipv4.c
@@ -2,7 +2,7 @@
* sfe_ipv4.c
* Shortcut forwarding engine - IPv4 edition.
*
- * Copyright (c) 2013~2015 Qualcomm Atheros, Inc.
+ * Copyright (c) 2013-2015 Qualcomm Atheros, Inc.
*
* All Rights Reserved.
* Qualcomm Atheros Confidential and Proprietary.
@@ -1657,7 +1657,7 @@
* If our packet is larger than the MTU of the transmit interface then
* we can't forward it easily.
*/
- if (unlikely(len > cm->xmit_dev_mtu)) {
+ if (unlikely((len > cm->xmit_dev_mtu) && !skb_is_gso(skb))) {
struct sfe_ipv4_connection *c = cm->connection;
sfe_ipv4_remove_sfe_ipv4_connection(si, c);
si->exception_events[SFE_IPV4_EXCEPTION_EVENT_TCP_NEEDS_FRAGMENTATION]++;