X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_flow_classify.c;h=4f64be53572466a3aa64ed21a154222b64fb241d;hb=63f2bbfa826661f3a23aa8257d4d4c4ce475fe1e;hp=f4d2fdcd28b3c1f520a526ab10a22620ddbc27ed;hpb=e73e3547ce54d7ae48dff82d87efac0b7a30692a;p=dpdk.git diff --git a/app/test/test_flow_classify.c b/app/test/test_flow_classify.c index f4d2fdcd28..4f64be5357 100644 --- a/app/test/test_flow_classify.c +++ b/app/test/test_flow_classify.c @@ -23,7 +23,7 @@ #define FLOW_CLASSIFY_MAX_RULE_NUM 100 #define MAX_PKT_BURST 32 -#define NB_SOCKETS 1 +#define NB_SOCKETS 4 #define MEMPOOL_CACHE_SIZE 256 #define MBUF_SIZE 512 #define NB_MBUF 512 @@ -95,8 +95,8 @@ static struct rte_acl_field_def ipv4_defs[NUM_FIELDS_IPV4] = { * dst mask 255.255.255.00 / udp src is 32 dst is 33 / end" */ static struct rte_flow_item_ipv4 ipv4_udp_spec_1 = { - { 0, 0, 0, 0, 0, 0, IPPROTO_UDP, 0, - RTE_IPv4(2, 2, 2, 3), RTE_IPv4(2, 2, 2, 7)} + { { .version_ihl = 0}, 0, 0, 0, 0, 0, IPPROTO_UDP, 0, + RTE_IPV4(2, 2, 2, 3), RTE_IPV4(2, 2, 2, 7)} }; static const struct rte_flow_item_ipv4 ipv4_mask_24 = { .hdr = { @@ -125,15 +125,14 @@ static struct rte_flow_item udp_item_bad = { RTE_FLOW_ITEM_TYPE_UDP, static struct rte_flow_item end_item = { RTE_FLOW_ITEM_TYPE_END, 0, 0, 0 }; -static struct rte_flow_item end_item_bad = { -1, 0, 0, 0 }; /* test TCP pattern: * "eth / ipv4 src spec 1.2.3.4 src mask 255.255.255.00 dst spec 5.6.7.8 * dst mask 255.255.255.00 / tcp src is 16 dst is 17 / end" */ static struct rte_flow_item_ipv4 ipv4_tcp_spec_1 = { - { 0, 0, 0, 0, 0, 0, IPPROTO_TCP, 0, - RTE_IPv4(1, 2, 3, 4), RTE_IPv4(5, 6, 7, 8)} + { { .version_ihl = 0}, 0, 0, 0, 0, 0, IPPROTO_TCP, 0, + RTE_IPV4(1, 2, 3, 4), RTE_IPV4(5, 6, 7, 8)} }; static struct rte_flow_item_tcp tcp_spec_1 = { @@ -151,8 +150,8 @@ static struct rte_flow_item tcp_item_1 = { RTE_FLOW_ITEM_TYPE_TCP, * dst mask 255.255.255.00 / sctp src is 16 dst is 17/ end" */ static struct rte_flow_item_ipv4 ipv4_sctp_spec_1 = { - { 0, 0, 0, 0, 0, 0, IPPROTO_SCTP, 0, RTE_IPv4(11, 12, 13, 14), - RTE_IPv4(15, 16, 17, 18)} + { { .version_ihl = 0}, 0, 0, 0, 0, 0, IPPROTO_SCTP, 0, + RTE_IPV4(11, 12, 13, 14), RTE_IPV4(15, 16, 17, 18)} }; static struct rte_flow_item_sctp sctp_spec_1 = { @@ -181,7 +180,6 @@ static struct rte_flow_action count_action = { RTE_FLOW_ACTION_TYPE_COUNT, static struct rte_flow_action count_action_bad = { -1, 0}; static struct rte_flow_action end_action = { RTE_FLOW_ACTION_TYPE_END, 0}; -static struct rte_flow_action end_action_bad = { -1, 0}; static struct rte_flow_action actions[2]; @@ -384,7 +382,7 @@ test_invalid_patterns(void) pattern[1] = ipv4_udp_item_1; pattern[2] = udp_item_bad; - pattern[3] = end_item_bad; + pattern[3] = end_item; ret = rte_flow_classify_validate(cls->cls, &attr, pattern, actions, &error); @@ -458,32 +456,6 @@ test_invalid_actions(void) return -1; } - actions[0] = count_action; - actions[1] = end_action_bad; - - ret = rte_flow_classify_validate(cls->cls, &attr, pattern, - actions, &error); - if (!ret) { - printf("Line %i: rte_flow_classify_validate", __LINE__); - printf(" should have failed!\n"); - return -1; - } - - rule = rte_flow_classify_table_entry_add(cls->cls, &attr, pattern, - actions, &key_found, &error); - if (rule) { - printf("Line %i: flow_classify_table_entry_add", __LINE__); - printf(" should have failed!\n"); - return -1; - } - - ret = rte_flow_classify_table_entry_delete(cls->cls, rule); - if (!ret) { - printf("Line %i: rte_flow_classify_table_entry_delete", - __LINE__); - printf("should have failed!\n"); - return -1; - } return 0; } @@ -506,7 +478,7 @@ init_ipv4_udp_traffic(struct rte_mempool *mp, printf("Set up IPv4 UDP traffic\n"); initialize_eth_header(&pkt_eth_hdr, (struct rte_ether_addr *)src_mac, - (struct rte_ether_addr *)dst_mac, RTE_ETHER_TYPE_IPv4, 0, 0); + (struct rte_ether_addr *)dst_mac, RTE_ETHER_TYPE_IPV4, 0, 0); pktlen = (uint16_t)(sizeof(struct rte_ether_hdr)); printf("ETH pktlen %u\n", pktlen); @@ -543,7 +515,7 @@ init_ipv4_tcp_traffic(struct rte_mempool *mp, printf("Set up IPv4 TCP traffic\n"); initialize_eth_header(&pkt_eth_hdr, (struct rte_ether_addr *)src_mac, - (struct rte_ether_addr *)dst_mac, RTE_ETHER_TYPE_IPv4, 0, 0); + (struct rte_ether_addr *)dst_mac, RTE_ETHER_TYPE_IPV4, 0, 0); pktlen = (uint16_t)(sizeof(struct rte_ether_hdr)); printf("ETH pktlen %u\n", pktlen); @@ -580,7 +552,7 @@ init_ipv4_sctp_traffic(struct rte_mempool *mp, printf("Set up IPv4 SCTP traffic\n"); initialize_eth_header(&pkt_eth_hdr, (struct rte_ether_addr *)src_mac, - (struct rte_ether_addr *)dst_mac, RTE_ETHER_TYPE_IPv4, 0, 0); + (struct rte_ether_addr *)dst_mac, RTE_ETHER_TYPE_IPV4, 0, 0); pktlen = (uint16_t)(sizeof(struct rte_ether_hdr)); printf("ETH pktlen %u\n", pktlen); @@ -856,6 +828,12 @@ test_flow_classify(void) cls_params.name = "flow_classifier"; cls_params.socket_id = 0; cls->cls = rte_flow_classifier_create(&cls_params); + if (cls->cls == NULL) { + printf("Line %i: flow classifier create has failed!\n", + __LINE__); + rte_free(cls); + return TEST_FAILED; + } /* initialise ACL table params */ table_acl_params.n_rule_fields = RTE_DIM(ipv4_defs);