commit c88c40e722fe27ebe56f97bbf8a53c6f66144397
Author: Anand H Krishnan <email address hidden>
Date: Wed Nov 26 21:25:59 2014 -0800
Diagnostics - traceroute and ping support
A diagnostic packet is a packet that is injected by agent to accomplish
two main functionalities (for now) - reachability (ping) and path
information (traceroute), given the five tuple (sip,sport,dip,dport,proto).
While injecting the packet, agent explicitly marks the packet as a
diagnostic packet. If the packet transits a compute node, at the
receiving compute, the transport header checksum is used to identify
whether the packet is a diagnostic packet or not.
Ping, thus is straight forward
For traceroute to work, vrouter needs to decrement ttl and send icmp
time to live exceeded message. Every packet that vrouter forwards,
vrouter decerements the ttl and if the ttl goes to zero trap the packet
to agent, which processes the message and sends an icmp ttl exceeded
message. For a diagnostic packet, the inner network header ttl is
also copied onto outer network header so that the fabric routers
do send a ttl exceeded message and thus a map of the underlay is known.
Reviewed: https:/ /review. opencontrail. org/5040 github. org/Juniper/ contrail- vrouter/ commit/ c88c40e722fe27e be56f97bbf8a53c 6f66144397
Committed: http://
Submitter: Zuul
Branch: master
commit c88c40e722fe27e be56f97bbf8a53c 6f66144397
Author: Anand H Krishnan <email address hidden>
Date: Wed Nov 26 21:25:59 2014 -0800
Diagnostics - traceroute and ping support
A diagnostic packet is a packet that is injected by agent to accomplish dip,dport, proto).
two main functionalities (for now) - reachability (ping) and path
information (traceroute), given the five tuple (sip,sport,
While injecting the packet, agent explicitly marks the packet as a
diagnostic packet. If the packet transits a compute node, at the
receiving compute, the transport header checksum is used to identify
whether the packet is a diagnostic packet or not.
Ping, thus is straight forward
For traceroute to work, vrouter needs to decrement ttl and send icmp
time to live exceeded message. Every packet that vrouter forwards,
vrouter decerements the ttl and if the ttl goes to zero trap the packet
to agent, which processes the message and sends an icmp ttl exceeded
message. For a diagnostic packet, the inner network header ttl is
also copied onto outer network header so that the fabric routers
do send a ttl exceeded message and thus a map of the underlay is known.
Partial-BUG: #1379622 578ee90254a0d6d d137a0eb6d6
Change-Id: Idb785a6c25ee02