flow_offload: add flow_rule and flow_match structures and use them
This patch wraps the dissector key and mask - that flower uses to represent the matching side - around the flow_match structure. To avoid a follow up patch that would edit the same LoCs in the drivers, this patch also wraps this new flow match structure around the flow rule object. This new structure will also contain the flow actions in follow up patches. This introduces two new interfaces: bool flow_rule_match_key(rule, dissector_id) that returns true if a given matching key is set on, and: flow_rule_match_XYZ(rule, &match); To fetch the matching side XYZ into the match container structure, to retrieve the key and the mask with one single call. Signed-off-by:Pablo Neira Ayuso <pablo@netfilter.org> Acked-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c 74 additions, 100 deletionsdrivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c 79 additions, 115 deletionsdrivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
- drivers/net/ethernet/intel/i40e/i40e_main.c 68 additions, 110 deletionsdrivers/net/ethernet/intel/i40e/i40e_main.c
- drivers/net/ethernet/intel/iavf/iavf_main.c 80 additions, 115 deletionsdrivers/net/ethernet/intel/iavf/iavf_main.c
- drivers/net/ethernet/intel/igb/igb_main.c 24 additions, 40 deletionsdrivers/net/ethernet/intel/igb/igb_main.c
- drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 29 additions, 39 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 159 additions, 217 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_tc.c
- drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c 88 additions, 114 deletionsdrivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
- drivers/net/ethernet/netronome/nfp/flower/action.c 5 additions, 6 deletionsdrivers/net/ethernet/netronome/nfp/flower/action.c
- drivers/net/ethernet/netronome/nfp/flower/match.c 209 additions, 208 deletionsdrivers/net/ethernet/netronome/nfp/flower/match.c
- drivers/net/ethernet/netronome/nfp/flower/offload.c 57 additions, 92 deletionsdrivers/net/ethernet/netronome/nfp/flower/offload.c
- drivers/net/ethernet/qlogic/qede/qede_filter.c 36 additions, 49 deletionsdrivers/net/ethernet/qlogic/qede/qede_filter.c
- include/net/flow_offload.h 115 additions, 0 deletionsinclude/net/flow_offload.h
- include/net/pkt_cls.h 8 additions, 3 deletionsinclude/net/pkt_cls.h
- net/core/Makefile 1 addition, 1 deletionnet/core/Makefile
- net/core/flow_offload.c 143 additions, 0 deletionsnet/core/flow_offload.c
- net/sched/cls_flower.c 34 additions, 13 deletionsnet/sched/cls_flower.c
Loading
Please register or sign in to comment