X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fvlan.h;h=13ae6a7e3715bd971e836cf29bf11515f7f58897;hb=HEAD;hp=46d0db356af0df2cd64f58560e3f4e2bb8619bb2;hpb=3cfede14890f1fae3a8faf7ba179018201079dc6;p=sliver-openvswitch.git diff --git a/datapath/vlan.h b/datapath/vlan.h index 46d0db356..13ae6a7e3 100644 --- a/datapath/vlan.h +++ b/datapath/vlan.h @@ -46,13 +46,6 @@ * equivalent to those on 2.6.33+. */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27) -#define NEED_VLAN_FIELD -#endif - -#ifndef NEED_VLAN_FIELD -static inline void vlan_copy_skb_tci(struct sk_buff *skb) { } - static inline u16 vlan_get_tci(struct sk_buff *skb) { #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) @@ -69,37 +62,4 @@ static inline void vlan_set_tci(struct sk_buff *skb, u16 vlan_tci) #endif skb->vlan_tci = vlan_tci; } -#else -void vlan_copy_skb_tci(struct sk_buff *skb); -u16 vlan_get_tci(struct sk_buff *skb); -void vlan_set_tci(struct sk_buff *skb, u16 vlan_tci); - -#undef vlan_tx_tag_present -bool vlan_tx_tag_present(struct sk_buff *skb); - -#undef vlan_tx_tag_get -u16 vlan_tx_tag_get(struct sk_buff *skb); - -#define __vlan_hwaccel_put_tag rpl__vlan_hwaccel_put_tag -struct sk_buff *__vlan_hwaccel_put_tag(struct sk_buff *skb, u16 vlan_tci); -#endif /* NEED_VLAN_FIELD */ - -static inline int vlan_deaccel_tag(struct sk_buff *skb) -{ - if (!vlan_tx_tag_present(skb)) - return 0; - - skb = __vlan_put_tag(skb, vlan_tx_tag_get(skb)); - if (unlikely(!skb)) - return -ENOMEM; - - if (get_ip_summed(skb) == OVS_CSUM_COMPLETE) - skb->csum = csum_add(skb->csum, - csum_partial(skb->data + (2 * ETH_ALEN), - VLAN_HLEN, 0)); - - vlan_set_tci(skb, 0); - return 0; -} - #endif /* vlan.h */