hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.h
....@@ -6,6 +6,7 @@
66
77 #include <linux/types.h>
88 #include <linux/netdevice.h>
9
+#include <net/flow_offload.h>
910
1011 struct mlxsw_afa;
1112 struct mlxsw_afa_block;
....@@ -25,6 +26,10 @@
2526 bool ingress, int *p_span_id);
2627 void (*mirror_del)(void *priv, u8 local_in_port, int span_id,
2728 bool ingress);
29
+ int (*policer_add)(void *priv, u64 rate_bytes_ps, u32 burst,
30
+ u16 *p_policer_index,
31
+ struct netlink_ext_ack *extack);
32
+ void (*policer_del)(void *priv, u16 policer_index);
2833 bool dummy_first_set;
2934 };
3035
....@@ -42,7 +47,11 @@
4247 int mlxsw_afa_block_continue(struct mlxsw_afa_block *block);
4348 int mlxsw_afa_block_jump(struct mlxsw_afa_block *block, u16 group_id);
4449 int mlxsw_afa_block_terminate(struct mlxsw_afa_block *block);
45
-int mlxsw_afa_block_append_drop(struct mlxsw_afa_block *block);
50
+const struct flow_action_cookie *
51
+mlxsw_afa_cookie_lookup(struct mlxsw_afa *mlxsw_afa, u32 cookie_index);
52
+int mlxsw_afa_block_append_drop(struct mlxsw_afa_block *block, bool ingress,
53
+ const struct flow_action_cookie *fa_cookie,
54
+ struct netlink_ext_ack *extack);
4655 int mlxsw_afa_block_append_trap(struct mlxsw_afa_block *block, u16 trap_id);
4756 int mlxsw_afa_block_append_trap_and_forward(struct mlxsw_afa_block *block,
4857 u16 trap_id);
....@@ -57,6 +66,16 @@
5766 int mlxsw_afa_block_append_vlan_modify(struct mlxsw_afa_block *block,
5867 u16 vid, u8 pcp, u8 et,
5968 struct netlink_ext_ack *extack);
69
+int mlxsw_afa_block_append_qos_switch_prio(struct mlxsw_afa_block *block,
70
+ u8 prio,
71
+ struct netlink_ext_ack *extack);
72
+int mlxsw_afa_block_append_qos_dsfield(struct mlxsw_afa_block *block,
73
+ u8 dsfield,
74
+ struct netlink_ext_ack *extack);
75
+int mlxsw_afa_block_append_qos_dscp(struct mlxsw_afa_block *block,
76
+ u8 dscp, struct netlink_ext_ack *extack);
77
+int mlxsw_afa_block_append_qos_ecn(struct mlxsw_afa_block *block,
78
+ u8 ecn, struct netlink_ext_ack *extack);
6079 int mlxsw_afa_block_append_allocated_counter(struct mlxsw_afa_block *block,
6180 u32 counter_index);
6281 int mlxsw_afa_block_append_counter(struct mlxsw_afa_block *block,
....@@ -67,5 +86,11 @@
6786 int mlxsw_afa_block_append_mcrouter(struct mlxsw_afa_block *block,
6887 u16 expected_irif, u16 min_mtu,
6988 bool rmid_valid, u32 kvdl_index);
89
+int mlxsw_afa_block_append_l4port(struct mlxsw_afa_block *block, bool is_dport, u16 l4_port,
90
+ struct netlink_ext_ack *extack);
91
+int mlxsw_afa_block_append_police(struct mlxsw_afa_block *block,
92
+ u32 fa_index, u64 rate_bytes_ps, u32 burst,
93
+ u16 *p_policer_index,
94
+ struct netlink_ext_ack *extack);
7095
7196 #endif