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 <[email protected]>
Signed-off-by: Jesse Gross <[email protected]>
---
 datapath/vport-netdev.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/datapath/vport-netdev.c b/datapath/vport-netdev.c
index 21fa6a0..11faf8a 100644
--- a/datapath/vport-netdev.c
+++ b/datapath/vport-netdev.c
@@ -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)) {
-- 
1.7.1


_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev_openvswitch.org

Reply via email to