-
Notifications
You must be signed in to change notification settings - Fork 334
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
Comments
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
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
The text was updated successfully, but these errors were encountered: