}
/* Check for a VLAN tag */
- if (likely(key->dl_type != __constant_htons(ETH_P_8021Q))) {
- key->dl_vlan = __constant_htons(OFP_VLAN_NONE);
+ if (likely(key->dl_type != htons(ETH_P_8021Q))) {
+ key->dl_vlan = htons(OFP_VLAN_NONE);
} else {
struct vlan_hdr *vh = (struct vlan_hdr *)(skb_mac_header(skb) + nh_ofs);
key->dl_type = vh->h_vlan_encapsulated_proto;
- key->dl_vlan = vh->h_vlan_TCI & __constant_htons(VLAN_VID_MASK);
+ key->dl_vlan = vh->h_vlan_TCI & htons(VLAN_VID_MASK);
nh_ofs += sizeof(*vh);
}
memcpy(key->dl_src, mac->h_source, ETH_ALEN);
goto no_th;
}
} else {
- /* Fall through. */
+ /* Fall through. */
}
key->nw_src = 0;
struct snap_hdr
{
- uint8_t dsap; /* Always 0xAA */
- uint8_t ssap; /* Always 0xAA */
- uint8_t ctrl;
- uint8_t oui[SNAP_OUI_LEN];
- uint16_t ethertype;
+ uint8_t dsap; /* Always 0xAA */
+ uint8_t ssap; /* Always 0xAA */
+ uint8_t ctrl;
+ uint8_t oui[SNAP_OUI_LEN];
+ uint16_t ethertype;
} __attribute__ ((packed));
static inline int snap_get_ethertype(struct sk_buff *skb, uint16_t *ethertype)
{
- struct snap_hdr *sh = (struct snap_hdr *)(skb->data
- + sizeof(struct ethhdr));
- if (((sh->dsap & 0xFE) != LLC_SAP_SNAP)
- || ((sh->dsap & 0xFE) != LLC_SAP_SNAP)
- || (!memcmp(sh->oui, "\0\0\0", SNAP_OUI_LEN)))
- return -EINVAL;
+ struct snap_hdr *sh = (struct snap_hdr *)(skb->data
+ + sizeof(struct ethhdr));
+ if (((sh->dsap & 0xFE) != LLC_SAP_SNAP)
+ || ((sh->dsap & 0xFE) != LLC_SAP_SNAP)
+ || (!memcmp(sh->oui, "\0\0\0", SNAP_OUI_LEN)))
+ return -EINVAL;
- *ethertype = sh->ethertype;
+ *ethertype = sh->ethertype;
- return 0;
+ return 0;
}
#endif /* snap.h */