X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-flow-perf%2Fitems_gen.c;h=a73de9031f5452d43a6836b52480d7c15f9add59;hb=f2777b53b189813e9c22e2cf0bbecb9327f8dcce;hp=0950023608c8f703ed9f7a67729cf9f35f19c08f;hpb=070316d01d3e354154abec9b0eb4b8d2990c872b;p=dpdk.git diff --git a/app/test-flow-perf/items_gen.c b/app/test-flow-perf/items_gen.c index 0950023608..a73de9031f 100644 --- a/app/test-flow-perf/items_gen.c +++ b/app/test-flow-perf/items_gen.c @@ -26,9 +26,6 @@ add_ether(struct rte_flow_item *items, static struct rte_flow_item_eth eth_spec; static struct rte_flow_item_eth eth_mask; - memset(ð_spec, 0, sizeof(struct rte_flow_item_eth)); - memset(ð_mask, 0, sizeof(struct rte_flow_item_eth)); - items[items_counter].type = RTE_FLOW_ITEM_TYPE_ETH; items[items_counter].spec = ð_spec; items[items_counter].mask = ð_mask; @@ -39,16 +36,12 @@ add_vlan(struct rte_flow_item *items, uint8_t items_counter, __rte_unused struct additional_para para) { - static struct rte_flow_item_vlan vlan_spec; - static struct rte_flow_item_vlan vlan_mask; - - uint16_t vlan_value = VLAN_VALUE; - - memset(&vlan_spec, 0, sizeof(struct rte_flow_item_vlan)); - memset(&vlan_mask, 0, sizeof(struct rte_flow_item_vlan)); - - vlan_spec.tci = RTE_BE16(vlan_value); - vlan_mask.tci = RTE_BE16(0xffff); + static struct rte_flow_item_vlan vlan_spec = { + .tci = RTE_BE16(VLAN_VALUE), + }; + static struct rte_flow_item_vlan vlan_mask = { + .tci = RTE_BE16(0xffff), + }; items[items_counter].type = RTE_FLOW_ITEM_TYPE_VLAN; items[items_counter].spec = &vlan_spec; @@ -63,9 +56,6 @@ add_ipv4(struct rte_flow_item *items, static struct rte_flow_item_ipv4 ipv4_masks[RTE_MAX_LCORE] __rte_cache_aligned; uint8_t ti = para.core_idx; - memset(&ipv4_specs[ti], 0, sizeof(struct rte_flow_item_ipv4)); - memset(&ipv4_masks[ti], 0, sizeof(struct rte_flow_item_ipv4)); - ipv4_specs[ti].hdr.src_addr = RTE_BE32(para.src_ip); ipv4_masks[ti].hdr.src_addr = RTE_BE32(0xffffffff); @@ -82,17 +72,15 @@ add_ipv6(struct rte_flow_item *items, static struct rte_flow_item_ipv6 ipv6_specs[RTE_MAX_LCORE] __rte_cache_aligned; static struct rte_flow_item_ipv6 ipv6_masks[RTE_MAX_LCORE] __rte_cache_aligned; uint8_t ti = para.core_idx; - - memset(&ipv6_specs[ti], 0, sizeof(struct rte_flow_item_ipv6)); - memset(&ipv6_masks[ti], 0, sizeof(struct rte_flow_item_ipv6)); + uint8_t i; /** Set ipv6 src **/ - memset(&ipv6_specs[ti].hdr.src_addr, para.src_ip, - sizeof(ipv6_specs->hdr.src_addr) / 2); - - /** Full mask **/ - memset(&ipv6_masks[ti].hdr.src_addr, 0xff, - sizeof(ipv6_specs->hdr.src_addr)); + for (i = 0; i < 16; i++) { + /* Currently src_ip is limited to 32 bit */ + if (i < 4) + ipv6_specs[ti].hdr.src_addr[15 - i] = para.src_ip >> (i * 8); + ipv6_masks[ti].hdr.src_addr[15 - i] = 0xff; + } items[items_counter].type = RTE_FLOW_ITEM_TYPE_IPV6; items[items_counter].spec = &ipv6_specs[ti]; @@ -107,9 +95,6 @@ add_tcp(struct rte_flow_item *items, static struct rte_flow_item_tcp tcp_spec; static struct rte_flow_item_tcp tcp_mask; - memset(&tcp_spec, 0, sizeof(struct rte_flow_item_tcp)); - memset(&tcp_mask, 0, sizeof(struct rte_flow_item_tcp)); - items[items_counter].type = RTE_FLOW_ITEM_TYPE_TCP; items[items_counter].spec = &tcp_spec; items[items_counter].mask = &tcp_mask; @@ -123,9 +108,6 @@ add_udp(struct rte_flow_item *items, static struct rte_flow_item_udp udp_spec; static struct rte_flow_item_udp udp_mask; - memset(&udp_spec, 0, sizeof(struct rte_flow_item_udp)); - memset(&udp_mask, 0, sizeof(struct rte_flow_item_udp)); - items[items_counter].type = RTE_FLOW_ITEM_TYPE_UDP; items[items_counter].spec = &udp_spec; items[items_counter].mask = &udp_mask; @@ -144,9 +126,6 @@ add_vxlan(struct rte_flow_item *items, vni_value = VNI_VALUE; - memset(&vxlan_specs[ti], 0, sizeof(struct rte_flow_item_vxlan)); - memset(&vxlan_masks[ti], 0, sizeof(struct rte_flow_item_vxlan)); - /* Set standard vxlan vni */ for (i = 0; i < 3; i++) { vxlan_specs[ti].vni[2 - i] = vni_value >> (i * 8); @@ -174,9 +153,6 @@ add_vxlan_gpe(struct rte_flow_item *items, vni_value = VNI_VALUE; - memset(&vxlan_gpe_specs[ti], 0, sizeof(struct rte_flow_item_vxlan_gpe)); - memset(&vxlan_gpe_masks[ti], 0, sizeof(struct rte_flow_item_vxlan_gpe)); - /* Set vxlan-gpe vni */ for (i = 0; i < 3; i++) { vxlan_gpe_specs[ti].vni[2 - i] = vni_value >> (i * 8); @@ -196,18 +172,12 @@ add_gre(struct rte_flow_item *items, uint8_t items_counter, __rte_unused struct additional_para para) { - static struct rte_flow_item_gre gre_spec; - static struct rte_flow_item_gre gre_mask; - - uint16_t proto; - - proto = RTE_ETHER_TYPE_TEB; - - memset(&gre_spec, 0, sizeof(struct rte_flow_item_gre)); - memset(&gre_mask, 0, sizeof(struct rte_flow_item_gre)); - - gre_spec.protocol = RTE_BE16(proto); - gre_mask.protocol = RTE_BE16(0xffff); + static struct rte_flow_item_gre gre_spec = { + .protocol = RTE_BE16(RTE_ETHER_TYPE_TEB), + }; + static struct rte_flow_item_gre gre_mask = { + .protocol = RTE_BE16(0xffff), + }; items[items_counter].type = RTE_FLOW_ITEM_TYPE_GRE; items[items_counter].spec = &gre_spec; @@ -227,9 +197,6 @@ add_geneve(struct rte_flow_item *items, vni_value = VNI_VALUE; - memset(&geneve_specs[ti], 0, sizeof(struct rte_flow_item_geneve)); - memset(&geneve_masks[ti], 0, sizeof(struct rte_flow_item_geneve)); - for (i = 0; i < 3; i++) { geneve_specs[ti].vni[2 - i] = vni_value >> (i * 8); geneve_masks[ti].vni[2 - i] = 0xff; @@ -245,18 +212,12 @@ add_gtp(struct rte_flow_item *items, uint8_t items_counter, __rte_unused struct additional_para para) { - static struct rte_flow_item_gtp gtp_spec; - static struct rte_flow_item_gtp gtp_mask; - - uint32_t teid_value; - - teid_value = TEID_VALUE; - - memset(>p_spec, 0, sizeof(struct rte_flow_item_gtp)); - memset(>p_mask, 0, sizeof(struct rte_flow_item_gtp)); - - gtp_spec.teid = RTE_BE32(teid_value); - gtp_mask.teid = RTE_BE32(0xffffffff); + static struct rte_flow_item_gtp gtp_spec = { + .teid = RTE_BE32(TEID_VALUE), + }; + static struct rte_flow_item_gtp gtp_mask = { + .teid = RTE_BE32(0xffffffff), + }; items[items_counter].type = RTE_FLOW_ITEM_TYPE_GTP; items[items_counter].spec = >p_spec; @@ -268,18 +229,12 @@ add_meta_data(struct rte_flow_item *items, uint8_t items_counter, __rte_unused struct additional_para para) { - static struct rte_flow_item_meta meta_spec; - static struct rte_flow_item_meta meta_mask; - - uint32_t data; - - data = META_DATA; - - memset(&meta_spec, 0, sizeof(struct rte_flow_item_meta)); - memset(&meta_mask, 0, sizeof(struct rte_flow_item_meta)); - - meta_spec.data = RTE_BE32(data); - meta_mask.data = RTE_BE32(0xffffffff); + static struct rte_flow_item_meta meta_spec = { + .data = RTE_BE32(META_DATA), + }; + static struct rte_flow_item_meta meta_mask = { + .data = RTE_BE32(0xffffffff), + }; items[items_counter].type = RTE_FLOW_ITEM_TYPE_META; items[items_counter].spec = &meta_spec; @@ -292,21 +247,14 @@ add_meta_tag(struct rte_flow_item *items, uint8_t items_counter, __rte_unused struct additional_para para) { - static struct rte_flow_item_tag tag_spec; - static struct rte_flow_item_tag tag_mask; - uint32_t data; - uint8_t index; - - data = META_DATA; - index = TAG_INDEX; - - memset(&tag_spec, 0, sizeof(struct rte_flow_item_tag)); - memset(&tag_mask, 0, sizeof(struct rte_flow_item_tag)); - - tag_spec.data = RTE_BE32(data); - tag_mask.data = RTE_BE32(0xffffffff); - tag_spec.index = index; - tag_mask.index = 0xff; + static struct rte_flow_item_tag tag_spec = { + .data = RTE_BE32(META_DATA), + .index = TAG_INDEX, + }; + static struct rte_flow_item_tag tag_mask = { + .data = RTE_BE32(0xffffffff), + .index = 0xff, + }; items[items_counter].type = RTE_FLOW_ITEM_TYPE_TAG; items[items_counter].spec = &tag_spec; @@ -321,9 +269,6 @@ add_icmpv4(struct rte_flow_item *items, static struct rte_flow_item_icmp icmpv4_spec; static struct rte_flow_item_icmp icmpv4_mask; - memset(&icmpv4_spec, 0, sizeof(struct rte_flow_item_icmp)); - memset(&icmpv4_mask, 0, sizeof(struct rte_flow_item_icmp)); - items[items_counter].type = RTE_FLOW_ITEM_TYPE_ICMP; items[items_counter].spec = &icmpv4_spec; items[items_counter].mask = &icmpv4_mask; @@ -337,9 +282,6 @@ add_icmpv6(struct rte_flow_item *items, static struct rte_flow_item_icmp6 icmpv6_spec; static struct rte_flow_item_icmp6 icmpv6_mask; - memset(&icmpv6_spec, 0, sizeof(struct rte_flow_item_icmp6)); - memset(&icmpv6_mask, 0, sizeof(struct rte_flow_item_icmp6)); - items[items_counter].type = RTE_FLOW_ITEM_TYPE_ICMP6; items[items_counter].spec = &icmpv6_spec; items[items_counter].mask = &icmpv6_mask;