Flow traceroute should be supported

Bug #1379622 reported by Hari Prasad Killi
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
Undecided
Anand H. Krishnan

Bug Description

It should be possible to do a traceroute on a flow in the system.

tags: added: blocker
Revision history for this message
Anand H. Krishnan (anandhk) wrote :

Committed to private development branch

Changed in juniperopenstack:
status: New → Fix Committed
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/5040
Committed: http://github.org/Juniper/contrail-vrouter/commit/c88c40e722fe27ebe56f97bbf8a53c6f66144397
Submitter: Zuul
Branch: master

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.

Partial-BUG: #1379622
Change-Id: Idb785a6c25ee02578ee90254a0d6dd137a0eb6d6

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.