git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
examples/ioat: print statistics
[dpdk.git]
/
examples
/
flow_filtering
/
flow_blocks.c
diff --git
a/examples/flow_filtering/flow_blocks.c
b/examples/flow_filtering/flow_blocks.c
index
bae7116
..
575d792
100644
(file)
--- a/
examples/flow_filtering/flow_blocks.c
+++ b/
examples/flow_filtering/flow_blocks.c
@@
-2,7
+2,8
@@
* Copyright 2017 Mellanox Technologies, Ltd
*/
* Copyright 2017 Mellanox Technologies, Ltd
*/
-#define MAX_PATTERN_NUM 4
+#define MAX_PATTERN_NUM 3
+#define MAX_ACTION_NUM 2
struct rte_flow *
generate_ipv4_flow(uint16_t port_id, uint16_t rx_q,
struct rte_flow *
generate_ipv4_flow(uint16_t port_id, uint16_t rx_q,
@@
-41,11
+42,9
@@
generate_ipv4_flow(uint16_t port_id, uint16_t rx_q,
{
struct rte_flow_attr attr;
struct rte_flow_item pattern[MAX_PATTERN_NUM];
{
struct rte_flow_attr attr;
struct rte_flow_item pattern[MAX_PATTERN_NUM];
- struct rte_flow_action action[MAX_
PATTER
N_NUM];
+ struct rte_flow_action action[MAX_
ACTIO
N_NUM];
struct rte_flow *flow = NULL;
struct rte_flow_action_queue queue = { .index = rx_q };
struct rte_flow *flow = NULL;
struct rte_flow_action_queue queue = { .index = rx_q };
- struct rte_flow_item_eth eth_spec;
- struct rte_flow_item_eth eth_mask;
struct rte_flow_item_ipv4 ip_spec;
struct rte_flow_item_ipv4 ip_mask;
int res;
struct rte_flow_item_ipv4 ip_spec;
struct rte_flow_item_ipv4 ip_mask;
int res;
@@
-64,26
+63,19
@@
generate_ipv4_flow(uint16_t port_id, uint16_t rx_q,
* create the action sequence.
* one action only, move packet to queue
*/
* create the action sequence.
* one action only, move packet to queue
*/
-
action[0].type = RTE_FLOW_ACTION_TYPE_QUEUE;
action[0].conf = &queue;
action[1].type = RTE_FLOW_ACTION_TYPE_END;
/*
action[0].type = RTE_FLOW_ACTION_TYPE_QUEUE;
action[0].conf = &queue;
action[1].type = RTE_FLOW_ACTION_TYPE_END;
/*
- * set the first level of the pattern (
eth
).
+ * set the first level of the pattern (
ETH
).
* since in this example we just want to get the
* ipv4 we set this level to allow all.
*/
* since in this example we just want to get the
* ipv4 we set this level to allow all.
*/
- memset(ð_spec, 0, sizeof(struct rte_flow_item_eth));
- memset(ð_mask, 0, sizeof(struct rte_flow_item_eth));
- eth_spec.type = 0;
- eth_mask.type = 0;
pattern[0].type = RTE_FLOW_ITEM_TYPE_ETH;
pattern[0].type = RTE_FLOW_ITEM_TYPE_ETH;
- pattern[0].spec = ð_spec;
- pattern[0].mask = ð_mask;
/*
/*
- * setting the
third level of the pattern (ip
).
+ * setting the
second level of the pattern (IP
).
* in this example this is the level we care about
* so we set it according to the parameters.
*/
* in this example this is the level we care about
* so we set it according to the parameters.
*/
@@
-106,4
+98,3
@@
generate_ipv4_flow(uint16_t port_id, uint16_t rx_q,
return flow;
}
return flow;
}
-