Home
last modified time | relevance | path

Searched refs:rulei (Results 1 – 9 of 9) sorted by relevance

/linux/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_acl.c71 struct mlxsw_sp_acl_rule_info *rulei; member
318 struct mlxsw_sp_acl_rule_info *rulei; in mlxsw_sp_acl_rulei_create() local
321 rulei = kzalloc_obj(*rulei); in mlxsw_sp_acl_rulei_create()
322 if (!rulei) in mlxsw_sp_acl_rulei_create()
326 rulei->act_block = afa_block; in mlxsw_sp_acl_rulei_create()
327 return rulei; in mlxsw_sp_acl_rulei_create()
330 rulei->act_block = mlxsw_afa_block_create(acl->mlxsw_sp->afa); in mlxsw_sp_acl_rulei_create()
331 if (IS_ERR(rulei->act_block)) { in mlxsw_sp_acl_rulei_create()
332 err = PTR_ERR(rulei in mlxsw_sp_acl_rulei_create()
344 mlxsw_sp_acl_rulei_destroy(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei) mlxsw_sp_acl_rulei_destroy() argument
357 mlxsw_sp_acl_rulei_commit(struct mlxsw_sp_acl_rule_info * rulei) mlxsw_sp_acl_rulei_commit() argument
362 mlxsw_sp_acl_rulei_priority(struct mlxsw_sp_acl_rule_info * rulei,unsigned int priority) mlxsw_sp_acl_rulei_priority() argument
368 mlxsw_sp_acl_rulei_keymask_u32(struct mlxsw_sp_acl_rule_info * rulei,enum mlxsw_afk_element element,u32 key_value,u32 mask_value) mlxsw_sp_acl_rulei_keymask_u32() argument
376 mlxsw_sp_acl_rulei_keymask_buf(struct mlxsw_sp_acl_rule_info * rulei,enum mlxsw_afk_element element,const char * key_value,const char * mask_value,unsigned int len) mlxsw_sp_acl_rulei_keymask_buf() argument
385 mlxsw_sp_acl_rulei_act_continue(struct mlxsw_sp_acl_rule_info * rulei) mlxsw_sp_acl_rulei_act_continue() argument
390 mlxsw_sp_acl_rulei_act_jump(struct mlxsw_sp_acl_rule_info * rulei,u16 group_id) mlxsw_sp_acl_rulei_act_jump() argument
396 mlxsw_sp_acl_rulei_act_terminate(struct mlxsw_sp_acl_rule_info * rulei) mlxsw_sp_acl_rulei_act_terminate() argument
401 mlxsw_sp_acl_rulei_act_drop(struct mlxsw_sp_acl_rule_info * rulei,bool ingress,const struct flow_action_cookie * fa_cookie,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_drop() argument
410 mlxsw_sp_acl_rulei_act_trap(struct mlxsw_sp_acl_rule_info * rulei) mlxsw_sp_acl_rulei_act_trap() argument
417 mlxsw_sp_acl_rulei_act_fwd(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct net_device * out_dev,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_fwd() argument
449 mlxsw_sp_acl_rulei_act_mirror(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct mlxsw_sp_flow_block * block,struct net_device * out_dev,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_mirror() argument
473 mlxsw_sp_acl_rulei_act_vlan(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,u32 action,u16 vid,u16 proto,u8 prio,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_vlan() argument
505 mlxsw_sp_acl_rulei_act_priority(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,u32 prio,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_priority() argument
585 mlxsw_sp_acl_rulei_act_mangle_field(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct mlxsw_sp_acl_mangle_action * mact,u32 val,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_mangle_field() argument
605 mlxsw_sp1_acl_rulei_act_mangle_field(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct mlxsw_sp_acl_mangle_action * mact,u32 val,struct netlink_ext_ack * extack) mlxsw_sp1_acl_rulei_act_mangle_field() argument
620 mlxsw_sp2_acl_rulei_act_mangle_field_ip_odd(struct mlxsw_sp_acl_rule_info * rulei,enum mlxsw_sp_acl_mangle_field field,u32 val,struct netlink_ext_ack * extack) mlxsw_sp2_acl_rulei_act_mangle_field_ip_odd() argument
636 mlxsw_sp2_acl_rulei_act_mangle_field(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct mlxsw_sp_acl_mangle_action * mact,u32 val,struct netlink_ext_ack * extack) mlxsw_sp2_acl_rulei_act_mangle_field() argument
715 mlxsw_sp_acl_rulei_act_mangle(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,enum flow_action_mangle_base htype,u32 offset,u32 mask,u32 val,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_mangle() argument
741 mlxsw_sp_acl_rulei_act_police(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,u32 index,u64 rate_bytes_ps,u32 burst,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_police() argument
759 mlxsw_sp_acl_rulei_act_count(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_count() argument
773 mlxsw_sp_acl_rulei_act_fid_set(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,u16 fid,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_fid_set() argument
780 mlxsw_sp_acl_rulei_act_ignore(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,bool disable_learning,bool disable_security) mlxsw_sp_acl_rulei_act_ignore() argument
789 mlxsw_sp_acl_rulei_act_sample(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct mlxsw_sp_flow_block * block,struct psample_group * psample_group,u32 rate,u32 trunc_size,bool truncate,struct netlink_ext_ack * extack) mlxsw_sp_acl_rulei_act_sample() argument
930 struct mlxsw_sp_acl_rule_info *rulei; mlxsw_sp_acl_rule_action_replace() local
1018 struct mlxsw_sp_acl_rule_info *rulei; mlxsw_sp_acl_rule_get_stats() local
[all...]
H A Dspectrum_flower.c60 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse_actions() argument
80 err = mlxsw_sp_acl_rulei_act_count(mlxsw_sp, rulei, extack); in mlxsw_sp_flower_parse_actions()
91 err = mlxsw_sp_acl_rulei_act_terminate(rulei); in mlxsw_sp_flower_parse_actions()
105 err = mlxsw_sp_acl_rulei_act_drop(rulei, ingress, in mlxsw_sp_flower_parse_actions()
112 /* Forbid block with this rulei to be bound in mlxsw_sp_flower_parse_actions()
117 rulei->egress_bind_blocker = 1; in mlxsw_sp_flower_parse_actions()
119 rulei->ingress_bind_blocker = 1; in mlxsw_sp_flower_parse_actions()
123 err = mlxsw_sp_acl_rulei_act_trap(rulei); in mlxsw_sp_flower_parse_actions()
141 err = mlxsw_sp_acl_rulei_act_jump(rulei, group_id); in mlxsw_sp_flower_parse_actions()
158 /* Forbid block with this rulei t in mlxsw_sp_flower_parse_actions()
305 mlxsw_sp_flower_parse_meta_iif(struct mlxsw_sp_acl_rule_info * rulei,const struct mlxsw_sp_flow_block * block,const struct flow_match_meta * match,struct netlink_ext_ack * extack) mlxsw_sp_flower_parse_meta_iif() argument
347 mlxsw_sp_flower_parse_meta(struct mlxsw_sp_acl_rule_info * rulei,struct flow_cls_offload * f,struct mlxsw_sp_flow_block * block) mlxsw_sp_flower_parse_meta() argument
366 mlxsw_sp_flower_parse_ipv4(struct mlxsw_sp_acl_rule_info * rulei,struct flow_cls_offload * f) mlxsw_sp_flower_parse_ipv4() argument
381 mlxsw_sp_flower_parse_ipv6(struct mlxsw_sp_acl_rule_info * rulei,struct flow_cls_offload * f) mlxsw_sp_flower_parse_ipv6() argument
415 mlxsw_sp_flower_parse_ports(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct flow_cls_offload * f,u8 ip_proto) mlxsw_sp_flower_parse_ports() argument
443 mlxsw_sp_flower_parse_ports_range(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct flow_cls_offload * f,u8 ip_proto) mlxsw_sp_flower_parse_ports_range() argument
504 mlxsw_sp_flower_parse_tcp(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct flow_cls_offload * f,u8 ip_proto) mlxsw_sp_flower_parse_tcp() argument
535 mlxsw_sp_flower_parse_ip(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_acl_rule_info * rulei,struct flow_cls_offload * f,u16 n_proto) mlxsw_sp_flower_parse_ip() argument
569 mlxsw_sp_flower_parse(struct mlxsw_sp * mlxsw_sp,struct mlxsw_sp_flow_block * block,struct mlxsw_sp_acl_rule_info * rulei,struct flow_cls_offload * f) mlxsw_sp_flower_parse() argument
744 struct mlxsw_sp_acl_rule_info *rulei; mlxsw_sp_flower_replace() local
859 struct mlxsw_sp_acl_rule_info rulei; mlxsw_sp_flower_tmplt_create() local
[all...]
H A Dspectrum1_acl_tcam.c18 struct mlxsw_sp_acl_rule_info *rulei; member
64 struct mlxsw_sp_acl_rule_info *rulei; in mlxsw_sp1_acl_ctcam_region_catchall_add() local
70 rulei = mlxsw_sp_acl_rulei_create(mlxsw_sp->acl, NULL); in mlxsw_sp1_acl_ctcam_region_catchall_add()
71 if (IS_ERR(rulei)) { in mlxsw_sp1_acl_ctcam_region_catchall_add()
72 err = PTR_ERR(rulei); in mlxsw_sp1_acl_ctcam_region_catchall_add()
75 err = mlxsw_sp_acl_rulei_act_continue(rulei); in mlxsw_sp1_acl_ctcam_region_catchall_add()
78 err = mlxsw_sp_acl_rulei_commit(rulei); in mlxsw_sp1_acl_ctcam_region_catchall_add()
84 rulei, false); in mlxsw_sp1_acl_ctcam_region_catchall_add()
87 region->catchall.rulei = rulei; in mlxsw_sp1_acl_ctcam_region_catchall_add()
93 mlxsw_sp_acl_rulei_destroy(mlxsw_sp, rulei); in mlxsw_sp1_acl_ctcam_region_catchall_add()
[all …]
H A Dspectrum2_mr_tcam.c142 mlxsw_sp2_mr_tcam_rule_parse4(struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp2_mr_tcam_rule_parse4() argument
145 mlxsw_sp_acl_rulei_keymask_u32(rulei, MLXSW_AFK_ELEMENT_VIRT_ROUTER, in mlxsw_sp2_mr_tcam_rule_parse4()
147 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_0_31, in mlxsw_sp2_mr_tcam_rule_parse4()
150 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_0_31, in mlxsw_sp2_mr_tcam_rule_parse4()
156 mlxsw_sp2_mr_tcam_rule_parse6(struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp2_mr_tcam_rule_parse6() argument
159 mlxsw_sp_acl_rulei_keymask_u32(rulei, MLXSW_AFK_ELEMENT_VIRT_ROUTER_0_3, in mlxsw_sp2_mr_tcam_rule_parse6()
161 mlxsw_sp_acl_rulei_keymask_u32(rulei, MLXSW_AFK_ELEMENT_VIRT_ROUTER_4_7, in mlxsw_sp2_mr_tcam_rule_parse6()
163 mlxsw_sp_acl_rulei_keymask_u32(rulei, in mlxsw_sp2_mr_tcam_rule_parse6()
166 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_96_127, in mlxsw_sp2_mr_tcam_rule_parse6()
169 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_64_95, in mlxsw_sp2_mr_tcam_rule_parse6()
[all …]
H A Dspectrum_acl_ctcam.c43 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_acl_ctcam_region_entry_insert() argument
55 err = mlxsw_sp_acl_tcam_priority_get(mlxsw_sp, rulei, &priority, in mlxsw_sp_acl_ctcam_region_entry_insert()
65 mlxsw_afk_encode(afk, region->key_info, &rulei->values, key, mask); in mlxsw_sp_acl_ctcam_region_entry_insert()
72 act_set = mlxsw_afa_block_first_set(rulei->act_block); in mlxsw_sp_acl_ctcam_region_entry_insert()
192 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_acl_ctcam_entry_add() argument
203 rulei, fillup_priority); in mlxsw_sp_acl_ctcam_entry_add()
227 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_ctcam_entry_action_replace() argument
231 rulei->act_block, in mlxsw_sp_acl_ctcam_entry_action_replace()
232 rulei->priority); in mlxsw_sp_acl_ctcam_entry_action_replace()
H A Dspectrum_acl_atcam.c381 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_atcam_region_entry_insert() argument
390 err = mlxsw_sp_acl_tcam_priority_get(mlxsw_sp, rulei, &priority, true); in mlxsw_sp_acl_atcam_region_entry_insert()
400 kvdl_index = mlxsw_afa_block_first_kvdl_index(rulei->act_block); in mlxsw_sp_acl_atcam_region_entry_insert()
446 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_atcam_region_entry_action_replace() argument
455 err = mlxsw_sp_acl_tcam_priority_get(mlxsw_sp, rulei, &priority, true); in mlxsw_sp_acl_atcam_region_entry_action_replace()
458 kvdl_index = mlxsw_afa_block_first_kvdl_index(rulei->act_block); in mlxsw_sp_acl_atcam_region_entry_action_replace()
474 struct mlxsw_sp_acl_rule_info *rulei) in __mlxsw_sp_acl_atcam_entry_add() argument
483 mlxsw_afk_encode(afk, region->key_info, &rulei->values, in __mlxsw_sp_acl_atcam_entry_add()
525 rulei); in __mlxsw_sp_acl_atcam_entry_add()
559 struct mlxsw_sp_acl_rule_info *rulei) in __mlxsw_sp_acl_atcam_entry_action_replace() argument
[all …]
H A Dspectrum_acl_tcam.h34 struct mlxsw_sp_acl_rule_info *rulei,
54 struct mlxsw_sp_acl_rule_info *rulei);
57 struct mlxsw_sp_acl_rule_info *rulei);
126 struct mlxsw_sp_acl_rule_info *rulei,
135 struct mlxsw_sp_acl_rule_info *rulei);
224 struct mlxsw_sp_acl_rule_info *rulei);
232 struct mlxsw_sp_acl_rule_info *rulei);
H A Dspectrum2_acl_tcam.c213 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp2_acl_tcam_entry_add() argument
219 entry->act_block = rulei->act_block; in mlxsw_sp2_acl_tcam_entry_add()
222 rulei); in mlxsw_sp2_acl_tcam_entry_add()
240 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp2_acl_tcam_entry_action_replace() argument
245 entry->act_block = rulei->act_block; in mlxsw_sp2_acl_tcam_entry_action_replace()
248 &entry->aentry, rulei); in mlxsw_sp2_acl_tcam_entry_action_replace()
H A Dspectrum_acl_tcam.c36 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_acl_tcam_priority_get() argument
51 if (rulei->priority >= max_priority) in mlxsw_sp_acl_tcam_priority_get()
55 *priority = max_priority - rulei->priority; in mlxsw_sp_acl_tcam_priority_get()
197 struct mlxsw_sp_acl_rule_info *rulei; member
1064 entry->priv, ventry->rulei); in mlxsw_sp_acl_tcam_entry_create()
1089 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_tcam_entry_action_replace() argument
1094 entry->priv, rulei); in mlxsw_sp_acl_tcam_entry_action_replace()
1111 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_tcam_ventry_add() argument
1117 vchunk = mlxsw_sp_acl_tcam_vchunk_get(mlxsw_sp, vgroup, rulei->priority, in mlxsw_sp_acl_tcam_ventry_add()
1118 &rulei->values.elusage); in mlxsw_sp_acl_tcam_ventry_add()
[all …]