]> err.no Git - linux-2.6/blobdiff - include/linux/if_vlan.h
ssb: Add CHIPCO IRQ access functions
[linux-2.6] / include / linux / if_vlan.h
index 129fa876dbe49f080da825ea9985aff1519df3db..79504b22a932fc81df03f75990097bb27b8e5ad7 100644 (file)
@@ -143,13 +143,16 @@ struct vlan_dev_info {
        unsigned long cnt_encap_on_xmit;      /* How many times did we have to encapsulate the skb on TX. */
 };
 
-#define VLAN_DEV_INFO(x) ((struct vlan_dev_info *)(x->priv))
+static inline struct vlan_dev_info *vlan_dev_info(const struct net_device *dev)
+{
+       return netdev_priv(dev);
+}
 
 /* inline functions */
 static inline __u32 vlan_get_ingress_priority(struct net_device *dev,
                                              unsigned short vlan_tag)
 {
-       struct vlan_dev_info *vip = VLAN_DEV_INFO(dev);
+       struct vlan_dev_info *vip = vlan_dev_info(dev);
 
        return vip->ingress_priority_map[(vlan_tag >> 13) & 0x7];
 }
@@ -268,12 +271,12 @@ static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, unsigned short
        memmove(skb->data, skb->data + VLAN_HLEN, 2 * VLAN_ETH_ALEN);
 
        /* first, the ethernet type */
-       veth->h_vlan_proto = __constant_htons(ETH_P_8021Q);
+       veth->h_vlan_proto = htons(ETH_P_8021Q);
 
        /* now, the tag */
        veth->h_vlan_TCI = htons(tag);
 
-       skb->protocol = __constant_htons(ETH_P_8021Q);
+       skb->protocol = htons(ETH_P_8021Q);
        skb->mac_header -= VLAN_HLEN;
        skb->network_header -= VLAN_HLEN;
 
@@ -324,11 +327,11 @@ static inline struct sk_buff *vlan_put_tag(struct sk_buff *skb, unsigned short t
  * 
  * Returns error if the skb is not of VLAN type
  */
-static inline int __vlan_get_tag(struct sk_buff *skb, unsigned short *tag)
+static inline int __vlan_get_tag(const struct sk_buff *skb, unsigned short *tag)
 {
        struct vlan_ethhdr *veth = (struct vlan_ethhdr *)skb->data;
 
-       if (veth->h_vlan_proto != __constant_htons(ETH_P_8021Q)) {
+       if (veth->h_vlan_proto != htons(ETH_P_8021Q)) {
                return -EINVAL;
        }
 
@@ -344,7 +347,8 @@ static inline int __vlan_get_tag(struct sk_buff *skb, unsigned short *tag)
  * 
  * Returns error if @skb->cb[] is not set correctly
  */
-static inline int __vlan_hwaccel_get_tag(struct sk_buff *skb, unsigned short *tag)
+static inline int __vlan_hwaccel_get_tag(const struct sk_buff *skb,
+                                        unsigned short *tag)
 {
        struct vlan_skb_tx_cookie *cookie;
 
@@ -367,7 +371,7 @@ static inline int __vlan_hwaccel_get_tag(struct sk_buff *skb, unsigned short *ta
  * 
  * Returns error if the skb is not VLAN tagged
  */
-static inline int vlan_get_tag(struct sk_buff *skb, unsigned short *tag)
+static inline int vlan_get_tag(const struct sk_buff *skb, unsigned short *tag)
 {
        if (skb->dev->features & NETIF_F_HW_VLAN_TX) {
                return __vlan_hwaccel_get_tag(skb, tag);