Vladimir Sokolovsky wrote:
+static int get_skb_hdr(struct sk_buff *skb, void **iphdr,
+ void **tcph, u64 *hdr_flags, void *priv)
+{
+ unsigned int ip_len;
+ struct iphdr *iph;
+
+ if (unlikely(skb->protocol != htons(ETH_P_IP)))
+ return -1;
+
+ if (unlikely(skb->ip_summed != CHECKSUM_UNNECESSARY))
+ return -1;
As I wrote you in a comment for the v1 post which was ignored, please
don't associate LRO and checksum offload, as LRO is software only
feature. Either this check be removed or this function be rewritten in a
way that allow also for devices which don't support checksum offload to
use lro.
@@ -1152,6 +1208,8 @@ static struct net_device *ipoib_add_port(const char
*format,
priv->dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM;
}
+ if (ipoib_use_lro)
+ priv->dev->features |= NETIF_F_LRO;
once you have added the ethtool support to set/unset LRO per device, I
don't see the need for having this ipoib_use_lro module param, I suggest
to remove it.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general