p4lang/p4-applications

A "MTU exceeded" report may be useful to have

Closed this issue · 1 comments

In-band Network Telemetry grows the size of packets in a flow being monitored as INT-capable hops add INT metadata to the packet. The INT data plane specification recommends that links preceding the INT source be configured with a lower MTU than the switch links between the INT source and INT sink, by an amount that avoids egress MTU being exceeded at an INT-capable switch.

In the event that adding INT metadata at an INT switch causes the egress MTU to be exceeded, the INT switch must not add any INT metadata to the packet. It may be useful to be able to report such events to the monitoring system, thus making it easier to identify the switch(es) at which this occurred and make necessary MTU configuration changes.

This issue was discussed at the Feb 1 2018 working group meeting. Generating "MTU exceeded" reports from transit switches was deemed to be heavy. It was decided to limit the spec to the bare minimum requirement of setting the M bit at the hop that could not insert metadata due to egress MTU violation.

Receiving M bit set in reports from the INT sink serves as an indication that INT metadata was not inserted at one or more hops and corrective action such as reconfiguring MTU at some links may be needed, particularly when INT switches are not participating in path MTU discovery.

In theory, if M bit is not set at consecutive hops, it may be possible for the monitoring system to derive which switch(es) set the M bit based on knowledge of the network topology and "Switch ID, Ingress port ID, Egress port ID" tuples in the INT metadata stack.

Closing this issue as per the discussion in February 1 2018 working group meeting.

Related to this, if INT source cannot even add 8 bytes of INT header due to egress MTU issue, it will not initiate INT for such packets. This needs to be reported to the configuration/control/monitoring plane as M bit will not solve this scenario. This is marked as a TBD in the dataplane specification, will open a separate issue to track handling of failures at the INT source to initiate INT on certain packets due to egress MTU violation.