X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Ftap%2Ftap_bpf_program.c;h=20c310e5e7ba4c8bb0e604ec36e706572a70c14f;hb=be797cbf4582f3c474f208aeb3d1baa4001a6156;hp=2b1dba15b716b770eb069d7831d33954ee396af8;hpb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;p=dpdk.git diff --git a/drivers/net/tap/tap_bpf_program.c b/drivers/net/tap/tap_bpf_program.c index 2b1dba15b7..20c310e5e7 100644 --- a/drivers/net/tap/tap_bpf_program.c +++ b/drivers/net/tap/tap_bpf_program.c @@ -37,7 +37,7 @@ #define KEY_IDX 0 #define BPF_MAP_ID_KEY 1 -struct rte_vlan_hdr { +struct vlan_hdr { __be16 proto; __be16 tci; }; @@ -75,14 +75,14 @@ struct ipv4_l3_l4_tuple { __u32 dst_addr; __u16 dport; __u16 sport; -} __attribute__((packed)); +} __rte_packed; struct ipv6_l3_l4_tuple { __u8 src_addr[16]; __u8 dst_addr[16]; __u16 dport; __u16 sport; -} __attribute__((packed)); +} __rte_packed; static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE] = { 0xd1, 0x81, 0xc6, 0x2c, @@ -141,12 +141,12 @@ rss_l3_l4(struct __sk_buff *skb) /* Get correct proto for 802.1ad */ if (skb->vlan_present && skb->vlan_proto == htons(ETH_P_8021AD)) { - if (data + ETH_ALEN * 2 + sizeof(struct rte_vlan_hdr) + + if (data + ETH_ALEN * 2 + sizeof(struct vlan_hdr) + sizeof(proto) > data_end) return TC_ACT_OK; proto = *(__u16 *)(data + ETH_ALEN * 2 + - sizeof(struct rte_vlan_hdr)); - off += sizeof(struct rte_vlan_hdr); + sizeof(struct vlan_hdr)); + off += sizeof(struct vlan_hdr); } if (proto == htons(ETH_P_IP)) {