X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_pipeline%2Frte_table_action.c;h=9ce98f2ceb01f5fa16f5caad50fe2b66a83d18b9;hb=b80924d677c77ec023a0585c27004ba250045d11;hp=b3c86032fce0837e2c28b91f8cfcae4bbd5b9975;hpb=e73e3547ce54d7ae48dff82d87efac0b7a30692a;p=dpdk.git diff --git a/lib/librte_pipeline/rte_table_action.c b/lib/librte_pipeline/rte_table_action.c index b3c86032fc..9ce98f2ceb 100644 --- a/lib/librte_pipeline/rte_table_action.c +++ b/lib/librte_pipeline/rte_table_action.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -401,7 +402,6 @@ pkt_work_tm(struct rte_mbuf *mbuf, { struct dscp_table_entry_data *dscp_entry = &dscp_table->entry[dscp]; uint32_t queue_id = data->queue_id | - (dscp_entry->tc << 2) | dscp_entry->tc_queue; rte_mbuf_sched_set(mbuf, queue_id, dscp_entry->tc, (uint8_t)dscp_entry->color); @@ -439,7 +439,7 @@ encap_cfg_check(struct rte_table_action_encap_config *encap) struct encap_ether_data { struct rte_ether_hdr ether; -} __attribute__((__packed__)); +}; #define VLAN(pcp, dei, vid) \ ((uint16_t)((((uint64_t)(pcp)) & 0x7LLU) << 13) | \ @@ -449,13 +449,13 @@ struct encap_ether_data { struct encap_vlan_data { struct rte_ether_hdr ether; struct rte_vlan_hdr vlan; -} __attribute__((__packed__)); +}; struct encap_qinq_data { struct rte_ether_hdr ether; struct rte_vlan_hdr svlan; struct rte_vlan_hdr cvlan; -} __attribute__((__packed__)); +}; #define ETHER_TYPE_MPLS_UNICAST 0x8847 @@ -471,7 +471,7 @@ struct encap_mpls_data { struct rte_ether_hdr ether; uint32_t mpls[RTE_TABLE_ACTION_MPLS_LABELS_MAX]; uint32_t mpls_count; -} __attribute__((__packed__)); +} __attribute__((__packed__)) __attribute__((aligned(2))); #define PPP_PROTOCOL_IP 0x0021 @@ -480,12 +480,12 @@ struct pppoe_ppp_hdr { uint16_t session_id; uint16_t length; uint16_t protocol; -} __attribute__((__packed__)); +}; struct encap_pppoe_data { struct rte_ether_hdr ether; struct pppoe_ppp_hdr pppoe_ppp; -} __attribute__((__packed__)); +}; #define IP_PROTO_UDP 17 @@ -494,7 +494,7 @@ struct encap_vxlan_ipv4_data { struct rte_ipv4_hdr ipv4; struct rte_udp_hdr udp; struct rte_vxlan_hdr vxlan; -} __attribute__((__packed__)); +} __attribute__((__packed__)) __attribute__((aligned(2))); struct encap_vxlan_ipv4_vlan_data { struct rte_ether_hdr ether; @@ -502,14 +502,14 @@ struct encap_vxlan_ipv4_vlan_data { struct rte_ipv4_hdr ipv4; struct rte_udp_hdr udp; struct rte_vxlan_hdr vxlan; -} __attribute__((__packed__)); +} __attribute__((__packed__)) __attribute__((aligned(2))); struct encap_vxlan_ipv6_data { struct rte_ether_hdr ether; struct rte_ipv6_hdr ipv6; struct rte_udp_hdr udp; struct rte_vxlan_hdr vxlan; -} __attribute__((__packed__)); +} __attribute__((__packed__)) __attribute__((aligned(2))); struct encap_vxlan_ipv6_vlan_data { struct rte_ether_hdr ether; @@ -517,14 +517,14 @@ struct encap_vxlan_ipv6_vlan_data { struct rte_ipv6_hdr ipv6; struct rte_udp_hdr udp; struct rte_vxlan_hdr vxlan; -} __attribute__((__packed__)); +} __attribute__((__packed__)) __attribute__((aligned(2))); struct encap_qinq_pppoe_data { struct rte_ether_hdr ether; struct rte_vlan_hdr svlan; struct rte_vlan_hdr cvlan; struct pppoe_ppp_hdr pppoe_ppp; -} __attribute__((__packed__)); +} __attribute__((__packed__)) __attribute__((aligned(2))); static size_t encap_data_size(struct rte_table_action_encap_config *encap) @@ -611,8 +611,8 @@ encap_ether_apply(void *data, { struct encap_ether_data *d = data; uint16_t ethertype = (common_cfg->ip_version) ? - RTE_ETHER_TYPE_IPv4 : - RTE_ETHER_TYPE_IPv6; + RTE_ETHER_TYPE_IPV4 : + RTE_ETHER_TYPE_IPV6; /* Ethernet */ rte_ether_addr_copy(&p->ether.ether.da, &d->ether.d_addr); @@ -629,8 +629,8 @@ encap_vlan_apply(void *data, { struct encap_vlan_data *d = data; uint16_t ethertype = (common_cfg->ip_version) ? - RTE_ETHER_TYPE_IPv4 : - RTE_ETHER_TYPE_IPv6; + RTE_ETHER_TYPE_IPV4 : + RTE_ETHER_TYPE_IPV6; /* Ethernet */ rte_ether_addr_copy(&p->vlan.ether.da, &d->ether.d_addr); @@ -653,8 +653,8 @@ encap_qinq_apply(void *data, { struct encap_qinq_data *d = data; uint16_t ethertype = (common_cfg->ip_version) ? - RTE_ETHER_TYPE_IPv4 : - RTE_ETHER_TYPE_IPv6; + RTE_ETHER_TYPE_IPV4 : + RTE_ETHER_TYPE_IPV6; /* Ethernet */ rte_ether_addr_copy(&p->qinq.ether.da, &d->ether.d_addr); @@ -697,7 +697,7 @@ encap_qinq_pppoe_apply(void *data, d->cvlan.vlan_tci = rte_htons(VLAN(p->qinq.cvlan.pcp, p->qinq.cvlan.dei, p->qinq.cvlan.vid)); - d->cvlan.eth_proto = rte_htons(ETHER_TYPE_PPPOE_SESSION); + d->cvlan.eth_proto = rte_htons(RTE_ETHER_TYPE_PPPOE_SESSION); /* PPPoE and PPP*/ d->pppoe_ppp.ver_type_code = rte_htons(0x1100); @@ -748,7 +748,7 @@ encap_pppoe_apply(void *data, /* Ethernet */ rte_ether_addr_copy(&p->pppoe.ether.da, &d->ether.d_addr); rte_ether_addr_copy(&p->pppoe.ether.sa, &d->ether.s_addr); - d->ether.ether_type = rte_htons(ETHER_TYPE_PPPOE_SESSION); + d->ether.ether_type = rte_htons(RTE_ETHER_TYPE_PPPOE_SESSION); /* PPPoE and PPP*/ d->pppoe_ppp.ver_type_code = rte_htons(0x1100); @@ -786,7 +786,7 @@ encap_vxlan_apply(void *data, d->vlan.vlan_tci = rte_htons(VLAN(p->vxlan.vlan.pcp, p->vxlan.vlan.dei, p->vxlan.vlan.vid)); - d->vlan.eth_proto = rte_htons(RTE_ETHER_TYPE_IPv4); + d->vlan.eth_proto = rte_htons(RTE_ETHER_TYPE_IPV4); /* IPv4*/ d->ipv4.version_ihl = 0x45; @@ -821,7 +821,7 @@ encap_vxlan_apply(void *data, &d->ether.d_addr); rte_ether_addr_copy(&p->vxlan.ether.sa, &d->ether.s_addr); - d->ether.ether_type = rte_htons(RTE_ETHER_TYPE_IPv4); + d->ether.ether_type = rte_htons(RTE_ETHER_TYPE_IPV4); /* IPv4*/ d->ipv4.version_ihl = 0x45; @@ -864,7 +864,7 @@ encap_vxlan_apply(void *data, d->vlan.vlan_tci = rte_htons(VLAN(p->vxlan.vlan.pcp, p->vxlan.vlan.dei, p->vxlan.vlan.vid)); - d->vlan.eth_proto = rte_htons(RTE_ETHER_TYPE_IPv6); + d->vlan.eth_proto = rte_htons(RTE_ETHER_TYPE_IPV6); /* IPv6*/ d->ipv6.vtc_flow = rte_htonl((6 << 28) | @@ -899,7 +899,7 @@ encap_vxlan_apply(void *data, &d->ether.d_addr); rte_ether_addr_copy(&p->vxlan.ether.sa, &d->ether.s_addr); - d->ether.ether_type = rte_htons(RTE_ETHER_TYPE_IPv6); + d->ether.ether_type = rte_htons(RTE_ETHER_TYPE_IPV6); /* IPv6*/ d->ipv6.vtc_flow = rte_htonl((6 << 28) |