diff options
| author | Chirag Shah <chirag@nvidia.com> | 2021-10-18 11:51:35 -0700 |
|---|---|---|
| committer | Chirag Shah <chirag@nvidia.com> | 2022-03-10 17:27:15 -0800 |
| commit | 4a8e182a66faec2daaee134e70bde97085716b35 (patch) | |
| tree | 6c0384d5193cbbe9e96c563a292efe5535682bcb /zebra/zebra_vxlan.c | |
| parent | ae9e6beaeae78bc7fe119b7bb772c7e2278e5514 (diff) | |
zebra: print rmac nexthop list
Ticket:#2798406
Reviewed By:
Testing Done:
Before change:
--------------
TORS1# show evpn rmac vni 4001 mac 44:38:39:ff:ff:01
MAC: 44:38:39:ff:ff:01
Remote VTEP: 36.0.0.11
Refcount: 1
Prefixes:
[1]:[00:00:00:00:00:00:00:00:00:00]:[::]/352
TORS1#
TORS1# show evpn rmac vni 4001 mac 44:38:39:ff:ff:01 json
{
"routerMac":"44:38:39:ff:ff:01",
"vtepIp":"36.0.0.11",
"refCount":1,
"localSequence":0,
"remoteSequence":0,
"prefixList":[
"[1]:[00:00:00:00:00:00:00:00:00:00]:[::]\/352"
]
}
After change:
-------------
TORS1# show evpn rmac vni 4001 mac 44:38:39:ff:ff:01
MAC: 44:38:39:ff:ff:01
Remote VTEP: 36.0.0.11
Refcount: 0
Prefixes:
TORS1#
TORS1# show evpn rmac vni 4001 mac 44:38:39:ff:ff:01 json
{
"routerMac":"44:38:39:ff:ff:01",
"vtepIp":"36.0.0.11",
"nexthops":[
"36.0.0.11"
]
}
Signed-off-by: Chirag Shah <chirag@nvidia.com>
Diffstat (limited to 'zebra/zebra_vxlan.c')
| -rw-r--r-- | zebra/zebra_vxlan.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c index 43045bd7ca..1d0c3850f6 100644 --- a/zebra/zebra_vxlan.c +++ b/zebra/zebra_vxlan.c @@ -398,8 +398,12 @@ static void zl3vni_print_nh(struct zebra_neigh *n, struct vty *vty, static void zl3vni_print_rmac(struct zebra_mac *zrmac, struct vty *vty, json_object *json) { + char buf[INET6_ADDRSTRLEN]; char buf1[ETHER_ADDR_STRLEN]; char buf2[PREFIX_STRLEN]; + struct listnode *node = NULL; + struct ipaddr *vtep = NULL; + json_object *json_nhs = NULL; json_object *json_hosts = NULL; struct host_rb_entry *hle; @@ -414,11 +418,18 @@ static void zl3vni_print_rmac(struct zebra_mac *zrmac, struct vty *vty, vty_out(vty, " %pFX\n", &hle->p); } else { json_hosts = json_object_new_array(); + json_nhs = json_object_new_array(); json_object_string_add( json, "routerMac", prefix_mac2str(&zrmac->macaddr, buf1, sizeof(buf1))); json_object_string_addf(json, "vtepIp", "%pI4", &zrmac->fwd_info.r_vtep_ip); + for (ALL_LIST_ELEMENTS_RO(zrmac->nh_list, node, vtep)) { + json_object_array_add(json_nhs, + json_object_new_string(ipaddr2str( + vtep, buf, sizeof(buf)))); + } + json_object_object_add(json, "nexthops", json_nhs); json_object_int_add(json, "refCount", rb_host_count(&zrmac->host_rb)); RB_FOREACH (hle, host_rb_tree_entry, &zrmac->host_rb) |
