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

Packet length does not get updated when recirculating (simple_switch) #626

Closed
edgar-costa opened this issue Jul 9, 2018 · 0 comments
Closed

Comments

@edgar-costa
Copy link

When a you recirculate a packet with extended headers. The packet.ingress_length field does not get updated during deparsing. This might make the parser Raise an exception (PacketTooShort) when trying to parse this extra header field:

Example code where ingress_length is used in the parser:
https://github.com/p4lang/behavioral-model/blob/master/src/bm_sim/parser.cpp#L238

I guess this field should be updated while deparsing, or another one should be used by the parser when doing the checking in order to not contradict this:

https://github.com/p4lang/behavioral-model/blob/master/include/bm/bm_sim/packet.h#L147

antoninbas added a commit that referenced this issue Jul 9, 2018
This may not be appropriate for architectures with multiple parsers
(e.g. egress parser in PSA).

This commit also ensures that ingress_length is updated properly for
recirculated packets in simple_switch.

Fixes #626
antoninbas added a commit that referenced this issue Jul 9, 2018
This may not be appropriate for architectures with multiple parsers
(e.g. egress parser in PSA).

This commit also ensures that ingress_length is updated properly for
recirculated packets in simple_switch.

Fixes #626
antoninbas added a commit that referenced this issue Jul 10, 2018
This may not be appropriate for architectures with multiple parsers
(e.g. egress parser in PSA).

This commit also ensures that ingress_length is updated properly for
recirculated packets in simple_switch.

Fixes #626
antoninbas added a commit that referenced this issue Jul 23, 2018
This may not be appropriate for architectures with multiple parsers
(e.g. egress parser in PSA).

This commit also ensures that ingress_length is updated properly for
recirculated packets in simple_switch.

Fixes #626
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant