From b68ea949ea21a1b1f0b51ffbcaeedec5b8044de9 Mon Sep 17 00:00:00 2001 From: Ravi BK Date: Fri, 5 Aug 2016 15:00:35 +0530 Subject: [PATCH] Display of RD in VrfIntrospect There is a supportability request to display route-distinguisher assigned to each vrf on a compute node. Added RD field to vrfSandeshData to display the same. Change-Id: I2b2875008b4fe22d1ac3dcbe1e4f50094d5d96e2 Closes-bug: #1600255 --- src/vnsw/agent/oper/agent.sandesh | 1 + src/vnsw/agent/oper/vrf.cc | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/vnsw/agent/oper/agent.sandesh b/src/vnsw/agent/oper/agent.sandesh index 72b101b0af9..9a94c30b981 100644 --- a/src/vnsw/agent/oper/agent.sandesh +++ b/src/vnsw/agent/oper/agent.sandesh @@ -437,6 +437,7 @@ struct VrfSandeshData { 9: i32 vxlan_id; // VRF Label used for the VRF 10: i32 evpnindex (link="EvpnRouteReq"); // VRF Index evpn Table 11: i32 brindex (link="BridgeRouteReq"); // VRF Index L2 Table + 12: string RD; // Route-Distinguisher } /** diff --git a/src/vnsw/agent/oper/vrf.cc b/src/vnsw/agent/oper/vrf.cc index 670b396c8ae..b30833ec109 100644 --- a/src/vnsw/agent/oper/vrf.cc +++ b/src/vnsw/agent/oper/vrf.cc @@ -294,6 +294,10 @@ bool VrfEntry::DBEntrySandesh(Sandesh *sresp, std::string &name) const { data.set_vn("N/A"); } data.set_table_label(table_label()); + VrfTable *table = static_cast(get_table()); + stringstream rd; + rd << table->agent()->compute_node_ip().to_string() << ":" << vrf_id(); + data.set_RD(rd.str()); std::vector &list = const_cast&>(resp->get_vrf_list());