[P4-design] Packet Validation Checks

Peter Newman (petenewm) petenewm at cisco.com
Mon Aug 10 16:01:21 EDT 2015

I erroneously stated at the last meeting that there were a number of packet validation checks I had been unable to express in P4. This was because I was trying to implement them all in the parser. Clearly some of the checks need to be implemented in the match+action tables.

I can implement all of the "Address == Constant" checks using match+action but I am still left with a few packet validation checks I haven’t been able to implement:

Source Address == Destination Address — can be invalid for some protocols

In IPv4 I’d like to check that if the Don’t Fragment bit is set then the Fragmentation Offset == 0

One option for terminating MPLS is to define a range of special label values. The parser needs to be able to check whether an MPLS label falls into this range.

There’s also a payload length check I couldn’t implement.


More information about the P4-design mailing list