Lines Matching refs:rulei
60 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()
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()
161 rulei->egress_bind_blocker = 1; in mlxsw_sp_flower_parse_actions()
165 err = mlxsw_sp_acl_rulei_act_fid_set(mlxsw_sp, rulei, in mlxsw_sp_flower_parse_actions()
171 err = mlxsw_sp_acl_rulei_act_fwd(mlxsw_sp, rulei, in mlxsw_sp_flower_parse_actions()
185 err = mlxsw_sp_acl_rulei_act_mirror(mlxsw_sp, rulei, in mlxsw_sp_flower_parse_actions()
197 err = mlxsw_sp_acl_rulei_act_vlan(mlxsw_sp, rulei, in mlxsw_sp_flower_parse_actions()
205 err = mlxsw_sp_acl_rulei_act_priority(mlxsw_sp, rulei, in mlxsw_sp_flower_parse_actions()
219 err = mlxsw_sp_acl_rulei_act_mangle(mlxsw_sp, rulei, in mlxsw_sp_flower_parse_actions()
244 err = mlxsw_sp_acl_rulei_act_police(mlxsw_sp, rulei, in mlxsw_sp_flower_parse_actions()
258 err = mlxsw_sp_acl_rulei_act_sample(mlxsw_sp, rulei, in mlxsw_sp_flower_parse_actions()
276 if (rulei->ipv6_valid) { in mlxsw_sp_flower_parse_actions()
284 static int mlxsw_sp_flower_parse_meta(struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse_meta() argument
320 mlxsw_sp_acl_rulei_keymask_u32(rulei, in mlxsw_sp_flower_parse_meta()
327 static void mlxsw_sp_flower_parse_ipv4(struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse_ipv4() argument
334 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_0_31, in mlxsw_sp_flower_parse_ipv4()
337 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_0_31, in mlxsw_sp_flower_parse_ipv4()
342 static void mlxsw_sp_flower_parse_ipv6(struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse_ipv6() argument
349 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_96_127, in mlxsw_sp_flower_parse_ipv6()
352 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_64_95, in mlxsw_sp_flower_parse_ipv6()
355 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_32_63, in mlxsw_sp_flower_parse_ipv6()
358 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_0_31, in mlxsw_sp_flower_parse_ipv6()
361 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_96_127, in mlxsw_sp_flower_parse_ipv6()
364 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_64_95, in mlxsw_sp_flower_parse_ipv6()
367 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_32_63, in mlxsw_sp_flower_parse_ipv6()
370 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_0_31, in mlxsw_sp_flower_parse_ipv6()
376 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse_ports() argument
393 mlxsw_sp_acl_rulei_keymask_u32(rulei, MLXSW_AFK_ELEMENT_DST_L4_PORT, in mlxsw_sp_flower_parse_ports()
396 mlxsw_sp_acl_rulei_keymask_u32(rulei, MLXSW_AFK_ELEMENT_SRC_L4_PORT, in mlxsw_sp_flower_parse_ports()
403 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse_tcp() argument
427 mlxsw_sp_acl_rulei_keymask_u32(rulei, MLXSW_AFK_ELEMENT_TCP_FLAGS, in mlxsw_sp_flower_parse_tcp()
434 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse_ip() argument
452 mlxsw_sp_acl_rulei_keymask_u32(rulei, MLXSW_AFK_ELEMENT_IP_TTL_, in mlxsw_sp_flower_parse_ip()
455 mlxsw_sp_acl_rulei_keymask_u32(rulei, MLXSW_AFK_ELEMENT_IP_ECN, in mlxsw_sp_flower_parse_ip()
459 mlxsw_sp_acl_rulei_keymask_u32(rulei, MLXSW_AFK_ELEMENT_IP_DSCP, in mlxsw_sp_flower_parse_ip()
468 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse() argument
495 mlxsw_sp_acl_rulei_priority(rulei, f->common.prio); in mlxsw_sp_flower_parse()
497 err = mlxsw_sp_flower_parse_meta(rulei, f, block); in mlxsw_sp_flower_parse()
519 mlxsw_sp_acl_rulei_keymask_u32(rulei, in mlxsw_sp_flower_parse()
524 mlxsw_sp_acl_rulei_keymask_u32(rulei, in mlxsw_sp_flower_parse()
534 mlxsw_sp_acl_rulei_keymask_buf(rulei, in mlxsw_sp_flower_parse()
538 mlxsw_sp_acl_rulei_keymask_buf(rulei, in mlxsw_sp_flower_parse()
542 mlxsw_sp_acl_rulei_keymask_buf(rulei, in mlxsw_sp_flower_parse()
546 mlxsw_sp_acl_rulei_keymask_buf(rulei, in mlxsw_sp_flower_parse()
565 rulei->egress_bind_blocker = 1; in mlxsw_sp_flower_parse()
568 mlxsw_sp_acl_rulei_keymask_u32(rulei, in mlxsw_sp_flower_parse()
573 mlxsw_sp_acl_rulei_keymask_u32(rulei, in mlxsw_sp_flower_parse()
580 mlxsw_sp_flower_parse_ipv4(rulei, f); in mlxsw_sp_flower_parse()
583 mlxsw_sp_flower_parse_ipv6(rulei, f); in mlxsw_sp_flower_parse()
585 err = mlxsw_sp_flower_parse_ports(mlxsw_sp, rulei, f, ip_proto); in mlxsw_sp_flower_parse()
588 err = mlxsw_sp_flower_parse_tcp(mlxsw_sp, rulei, f, ip_proto); in mlxsw_sp_flower_parse()
592 err = mlxsw_sp_flower_parse_ip(mlxsw_sp, rulei, f, n_proto_key & n_proto_mask); in mlxsw_sp_flower_parse()
596 return mlxsw_sp_flower_parse_actions(mlxsw_sp, block, rulei, in mlxsw_sp_flower_parse()
633 struct mlxsw_sp_acl_rule_info *rulei; in mlxsw_sp_flower_replace() local
655 rulei = mlxsw_sp_acl_rule_rulei(rule); in mlxsw_sp_flower_replace()
656 err = mlxsw_sp_flower_parse(mlxsw_sp, block, rulei, f); in mlxsw_sp_flower_replace()
660 err = mlxsw_sp_acl_rulei_commit(rulei); in mlxsw_sp_flower_replace()
746 struct mlxsw_sp_acl_rule_info rulei; in mlxsw_sp_flower_tmplt_create() local
749 memset(&rulei, 0, sizeof(rulei)); in mlxsw_sp_flower_tmplt_create()
750 err = mlxsw_sp_flower_parse(mlxsw_sp, block, &rulei, f); in mlxsw_sp_flower_tmplt_create()
756 &rulei.values.elusage); in mlxsw_sp_flower_tmplt_create()