Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions p4-16/psa/PSA.mdk
Original file line number Diff line number Diff line change
Expand Up @@ -754,6 +754,19 @@ For packets from a port, including the CPU port, both of the `in`
parameters `resubmit_meta` and `recirculate_meta` are undefined.


## Behavior of packets after ingress parsing is complete {#sec-after-ingress-parser}

Ingress parsing can end either by reaching a transition to `accept` or
`reject`, as defined in the P4~16~ language specification. Regardless
of which way ingress parsing completes, the packet will always go on
to be processed by the ingress control and then to the ingress
deparser. Packets that experience an error during ingress parsing are
not automatically dropped. It is up to the ingress P4 code to make
that decision. A P4 developer may wish to use the `parser_error`
standard metadata field to decide to drop the packet, or do whatever
you wish with it, e.g. send it to the CPU port.


## Behavior of packets after ingress processing is complete {#sec-after-ingress}

The pseudocode below defines where copies of packets will be made
Expand Down Expand Up @@ -1155,6 +1168,15 @@ mentioned above, will be the same for every copy of the same original
replicated packet.


## Behavior of packets after egress parsing is complete {#sec-after-egress-parser}

The same notes mentioned in Section [#sec-after-ingress-parser] also
apply for packets that experience an error during egress parsing.
That is, they always go on to be processed by the egress control and
then the egress deparser. It is up to the P4 developer to cause them
to be dropped, if that is the behavior you wish.


## Behavior of packets after egress processing is complete {#sec-after-egress}


Expand Down