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

Reply via email to