X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_table_pipeline.c;h=36bfeda3d8fca72a7d15333216cbe204eae0c831;hb=4c387fcdf7776d3bb9f47789580a57bd18d4dbf3;hp=4bcce2bf2ed9a1d75f25c1a24374ff2537e3bbdb;hpb=88ac2fd99fa06419c5b95ad662dc1e618bd8ac49;p=dpdk.git diff --git a/app/test/test_table_pipeline.c b/app/test/test_table_pipeline.c index 4bcce2bf2e..36bfeda3d8 100644 --- a/app/test/test_table_pipeline.c +++ b/app/test/test_table_pipeline.c @@ -91,53 +91,59 @@ rte_pipeline_port_out_action_handler port_action_stub(struct rte_mbuf **pkts, #endif rte_pipeline_table_action_handler_hit -table_action_0x00(struct rte_mbuf **pkts, uint64_t *pkts_mask, - struct rte_pipeline_table_entry **actions, uint32_t action_mask); +table_action_0x00(struct rte_pipeline *p, struct rte_mbuf **pkts, + uint64_t pkts_mask, struct rte_pipeline_table_entry **entry, void *arg); rte_pipeline_table_action_handler_hit -table_action_stub_hit(struct rte_mbuf **pkts, uint64_t *pkts_mask, - struct rte_pipeline_table_entry **actions, uint32_t action_mask); +table_action_stub_hit(struct rte_pipeline *p, struct rte_mbuf **pkts, + uint64_t pkts_mask, struct rte_pipeline_table_entry **entry, void *arg); rte_pipeline_table_action_handler_miss -table_action_stub_miss(struct rte_mbuf **pkts, uint64_t *pkts_mask, - struct rte_pipeline_table_entry *action, uint32_t action_mask); +table_action_stub_miss(struct rte_pipeline *p, struct rte_mbuf **pkts, + uint64_t pkts_mask, struct rte_pipeline_table_entry **entry, void *arg); rte_pipeline_table_action_handler_hit -table_action_0x00(__attribute__((unused)) struct rte_mbuf **pkts, - uint64_t *pkts_mask, - __attribute__((unused)) struct rte_pipeline_table_entry **actions, - __attribute__((unused)) uint32_t action_mask) +table_action_0x00(__attribute__((unused)) struct rte_pipeline *p, + __attribute__((unused)) struct rte_mbuf **pkts, + uint64_t pkts_mask, + __attribute__((unused)) struct rte_pipeline_table_entry **entry, + __attribute__((unused)) void *arg) { printf("Table Action, setting pkts_mask to 0x00\n"); - *pkts_mask = 0x00; + pkts_mask = ~0x00; + rte_pipeline_ah_packet_drop(p, pkts_mask); return 0; } rte_pipeline_table_action_handler_hit -table_action_stub_hit(__attribute__((unused)) struct rte_mbuf **pkts, - uint64_t *pkts_mask, - __attribute__((unused)) struct rte_pipeline_table_entry **actions, - __attribute__((unused)) uint32_t action_mask) +table_action_stub_hit(__attribute__((unused)) struct rte_pipeline *p, + __attribute__((unused)) struct rte_mbuf **pkts, + uint64_t pkts_mask, + __attribute__((unused)) struct rte_pipeline_table_entry **entry, + __attribute__((unused)) void *arg) { printf("STUB Table Action Hit - doing nothing\n"); printf("STUB Table Action Hit - setting mask to 0x%"PRIx64"\n", override_hit_mask); - *pkts_mask = override_hit_mask; + pkts_mask = (~override_hit_mask) & 0x3; + rte_pipeline_ah_packet_drop(p, pkts_mask); return 0; } + rte_pipeline_table_action_handler_miss -table_action_stub_miss(__attribute__((unused)) struct rte_mbuf **pkts, - uint64_t *pkts_mask, - __attribute__((unused)) struct rte_pipeline_table_entry *action, - __attribute__((unused)) uint32_t action_mask) +table_action_stub_miss(struct rte_pipeline *p, + __attribute__((unused)) struct rte_mbuf **pkts, + uint64_t pkts_mask, + __attribute__((unused)) struct rte_pipeline_table_entry **entry, + __attribute__((unused)) void *arg) { printf("STUB Table Action Miss - setting mask to 0x%"PRIx64"\n", override_miss_mask); - *pkts_mask = override_miss_mask; + pkts_mask = (~override_miss_mask) & 0x3; + rte_pipeline_ah_packet_drop(p, pkts_mask); return 0; } - enum e_test_type { e_TEST_STUB = 0, e_TEST_LPM, @@ -537,7 +543,6 @@ test_table_pipeline(void) setup_pipeline(e_TEST_STUB); if (test_pipeline_single_filter(e_TEST_STUB, 4) < 0) return -1; -#if 0 /* TEST - one packet per port */ action_handler_hit = NULL; @@ -585,8 +590,6 @@ test_table_pipeline(void) return -1; connect_miss_action_to_table = 0; -#endif - if (check_pipeline_invalid_params()) { RTE_LOG(INFO, PIPELINE, "%s: Check pipeline invalid params " "failed.\n", __func__);