In-band telemetry for SRv6-TE tunnel segments
Systems and methods provide in-band telemetry for Segment Routing over Internet Protocol version 6 (SRv6) Traffic Engineering (TE) tunnel segments, such as using One-Way Active Measurement Protocol (OWAMP), Two-Way Active Measurement Protocol (TWAMP), Simple Two-Way Active Measurement Protocol (STAMP), and the like. A method includes receiving a packet in a Segment Routing network supporting Segment Routing over SRv6 for an SRv6-TE tunnel; determining the packet includes a Segment Routing Header (SRH) with an Operations, Administration, and Maintenance (OAM) Flag (O-Flag) enabled; performing measurements based on the packet being an OAM packet and based on the O-Flag being enabled; and storing the measurements in an OAM session database.
1 . A node configured to operate in a Segment Routing network supporting Segment Routing over Internet Protocol version 6 (SRv6), the node comprising circuitry configured to:
receive a packet in a Segment Routing network supporting Segment Routing over Internet Protocol version 6 (SRv6) for an SRv6-Traffic Engineering (TE) tunnel,
determine the packet includes a Segment Routing Header (SRH) with an Operations, Administration, and Maintenance (OAM) Flag (O-Flag) enabled,
responsive to the O-Flag being enabled, generate a mirror copy of the packet to cause multiple instances of the packet, and forward one of the instances of the packet to a next hop in the SRv6-TE tunnel while providing another of the instances of the packet to an OAM module,
subsequent to the determination the SRH has the O-Flag enabled and concurrent with forwarding of the one of the instances of the packet to the next hop, generate a reply to an initiator node of the packet including one or more locally determined timestamps associated with the measurements,
perform measurements based on the packet being an OAM packet and based on the O-Flag being enabled by processing the other of the instances of the packet in the OAM module including adding a receive timestamp, and
store the measurements in an OAM session database associated with the SRv6-TE tunnel for the node.
2 . The node of claim 1 , wherein the circuitry is further configured to
transmit a reply to an initiator node of the packet with information based on the measurements.
3 . The node of claim 1 , wherein the circuitry is further configured to provide a response to a request to fetch the measurements or information based thereon.
4 . The node of claim 1 , wherein the packet is associated with One-Way Active Measurement Protocol (OWAMP), and the measurements include determining a difference between a timestamp in the packet and a local time.
5 . The node of claim 1 , wherein the packet is associated with one of (1) Two-Way Active Measurement Protocol (TWAMP) and (2) Simple Two-Way Active Measurement Protocol (STAMP), and the measurements include determining local timestamps and providing the local timestamps in a reply.
6 . The node of claim 1 , wherein the node is an intermediate node in the SRv6-TE tunnel.
7 . A method comprising steps of:
receiving a packet in a Segment Routing network supporting Segment Routing over Internet Protocol version 6 (SRv6) for an SRv6-Traffic Engineering (TE) tunnel;
determining the packet includes a Segment Routing Header (SRH) with an Operations, Administration, and Maintenance (OAM) Flag (O-Flag) enabled;
responsive to the O-Flag being enabled, generating a mirror copy of the packet to cause multiple instances of the packet, and forwarding one of the instances of the packet to a next hop in the SRv6-TE tunnel while providing another of the instances of the packet to an OAM module;
subsequent to the determining and concurrent with forwarding of the one of the instances of the packet to the next hop, generate a reply to an initiator node of the packet including one or more locally determined timestamps associated with the measurements;
performing measurements based on the packet being an OAM packet and based on the O-Flag being enabled by processing the other of the instances of the packet in the OAM module including adding a receive timestamp; and
storing the measurements in an OAM session database associated with the SRv6-TE tunnel for the node.
8 . The method of claim 7 , wherein the steps further include
transmitting a reply to an initiator node of the packet with information based on the measurements.
9 . The method of claim 7 , wherein the steps further include providing a response to a request to fetch the measurements or information based thereon.
10 . The method of claim 7 , wherein the packet is associated with One-Way Active Measurement Protocol (OWAMP), and the measurements include determining a difference between a timestamp in the packet and a local time.
11 . The method of claim 7 , wherein the packet is associated with one of (1) Two-Way Active Measurement Protocol (TWAMP) and (2) Simple Two-Way Active Measurement Protocol (STAMP), and the measurements include determining local timestamps and providing the local timestamps in a reply.
12 . The method of claim 7 , wherein the method is implemented in an intermediate node in the SRv6-TE tunnel.
13 . A non-transitory computer-readable medium storing instructions that, when executed, cause one or more processors to:
based on Operations, Administration, and Maintenance (OAM) measurements in a Segment Routing network supporting Segment Routing over Internet Protocol version 6 (SRv6) for one or more SRv6-Traffic Engineering (TE) tunnels, receive information based on measurements over the one or more SRv6-Traffic Engineering (TE) tunnels, the measurements utilizes OAM packets with a Segment Routing Header (SRH) with an Operations, Administration, and Maintenance (OAM) Flag (O-Flag) enabled therein, wherein, responsive to the O-Flag being enabled in a received packet for an SRv6-TE tunnel, the instructions further cause the one or more processors to generate a mirror copy of the packet to cause multiple instances of the packet, and forward one of the instances of the packet to a next hop in the SRv6-TE tunnel while providing another of the instances of the packet to an OAM module, perform measurements by processing the copy of the packet in the OAM module including adding a receive timestamp, and store the measurements in an OAM session database associated with the SRv6-TE tunnel, and subsequent to the determination the SRH has the O-Flag enabled and concurrent with forwarding of the one of the instances of the packet to the next hop, generate a reply to an initiator node of the packet including one or more locally determined timestamps associated with the measurements, and
store and utilize the information for traffic engineering over the one or more SRv6-TE tunnels.
14 . The non-transitory computer-readable medium of claim 13 , wherein the OAM measurements include, at intermediate nodes along the one or more SRv6-TE tunnels, performing a measurement and concurrently transmitting a mirror copy of an OAM packet to a next hop in the one or more SRv6-TE tunnels.
15 . The non-transitory computer-readable medium of claim 13 , wherein the OAM measurements include transmission of a reply to the packet to an initiator node of an OAM packet with information based on the measurements.
16 . The non-transitory computer-readable medium of claim 13 , wherein the OAM packets are associated with One-Way Active Measurement Protocol (OWAMP), and the measurements include determining a difference between a timestamp in the packet and a local time.
17 . The non-transitory computer-readable medium of claim 13 , wherein the OAM packets are associated with Two-Way Active Measurement Protocol (TWAMP), and the measurements include determining a local timestamp and providing the local timestamp in a reply.
18 . The non-transitory computer-readable medium of claim 13 , wherein the OAM packets are associated with Simple Two-Way Active Measurement Protocol (STAMP), and the measurements include determining a local timestamp and providing the local timestamp in a reply.