Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

terminate pipeline when action drop is encountered #585

Open
mgheorghe opened this issue Jun 4, 2024 · 3 comments
Open

terminate pipeline when action drop is encountered #585

mgheorghe opened this issue Jun 4, 2024 · 3 comments
Labels
help wanted Extra attention is needed

Comments

@mgheorghe
Copy link
Collaborator

i have a case with eni deny action, but i see BMv2 goes through all the stages irrespective , why is not exiting and dropping the packet right there. dash_ingress.eni_lookup_stage.deny

[20:01:38.109] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.accept -
[20:01:38.110] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline271 -
[20:01:38.110] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.direction_lookup_stage.set_inbound_direction -
[20:01:38.110] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.110] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is eni_lookup31_0 -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is eni_lookup31_1 -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.eni_lookup_stage.deny -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is eni_lookup36 -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline287 -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.deny -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline296 -
[20:01:38.112] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is do_tunnel_decap -
[20:01:38.113] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline305 -
[20:01:38.114] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline315 -
[20:01:38.115] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline324 -
[20:01:38.115] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.set_eni_attrs - 0,0,0,1,0,dd010000,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
[20:01:38.117] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline337 -
[20:01:38.117] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act -
[20:01:38.117] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is ha91 -
[20:01:38.118] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.set_acl_group_attrs - 0,
[20:01:38.118] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline352 -
[20:01:38.118] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act_3 -
[20:01:38.118] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is push_vxlan_tunnel_u0 -
[20:01:38.120] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_inbound37 -
[20:01:38.120] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.120] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act_4 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is routing_action_nat46l27 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act_5 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is routing_action_nat64l23 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act_6 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is routing_action_static_encap34 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline363 -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is metering_update83 -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.drop_action -
@KrisNey-MSFT
Copy link
Collaborator

KrisNey-MSFT commented Jun 13, 2024

Reason: Once we add the flow in the pipeline, then FastPath. If we have resimulation, the flow becomes invalid and needs to transit pipeline again. Get rid of the flow. Next packet will not hit a flow, transit pipeline, hit ACL, etc... this is needed to carry the drop decision all through the pipeline. The worry is that we may see a performance impact.
@r12f can change the job function to move the Stage to the Pre-Action Stage.

@KrisNey-MSFT KrisNey-MSFT added the help wanted Extra attention is needed label Jun 14, 2024
@KrisNey-MSFT
Copy link
Collaborator

checking in @r12f

@KrisNey-MSFT
Copy link
Collaborator

hi @r12f - do we need some help here to change the job function to move the Stage to the Pre-Action Stage?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants