datapath: Don't use vlan_features before 2.6.26.
authorJesse Gross <jesse@nicira.com>
Mon, 7 Feb 2011 23:50:04 +0000 (15:50 -0800)
committerJesse Gross <jesse@nicira.com>
Tue, 8 Feb 2011 00:07:18 +0000 (16:07 -0800)
Support for offloading over vlans wasn't introduced until 2.6.26,
so do full software emulation on kernels before that when dealing
with vlan packets.

Reported-by: Justin Pettit <jpettit@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/vport-netdev.c

index 21fa6a0..11faf8a 100644 (file)
@@ -277,7 +277,11 @@ static int netdev_send(struct vport *vport, struct sk_buff *skb)
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37)
        if (vlan_tx_tag_present(skb)) {
                int err;
-               int features = skb->dev->features & skb->dev->vlan_features;
+               int features = 0;
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+               features = skb->dev->features & skb->dev->vlan_features;
+#endif
 
                err = vswitch_skb_checksum_setup(skb);
                if (unlikely(err)) {