zebra: fix dump SR-TE information if available

The SR-TE color of nexthop should be displayed in all situations.

Fixes: 553c804846 ("zebra: fix JSON fields for 'show ip/ipv6 nht'")

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
Philippe Guibert 2024-05-15 15:36:04 +02:00
parent 05b6cfc71a
commit 4648225b53

View File

@ -1371,7 +1371,6 @@ void nexthop_vty_helper(struct vty *vty, const struct nexthop *nexthop,
char seg_buf[SRV6_SEG_STRLEN]; char seg_buf[SRV6_SEG_STRLEN];
struct seg6_segs segs; struct seg6_segs segs;
uint8_t i; uint8_t i;
bool src_p = false;
switch (nexthop->type) { switch (nexthop->type) {
case NEXTHOP_TYPE_IPV4: case NEXTHOP_TYPE_IPV4:
@ -1433,19 +1432,10 @@ void nexthop_vty_helper(struct vty *vty, const struct nexthop *nexthop,
switch (nexthop->type) { switch (nexthop->type) {
case NEXTHOP_TYPE_IPV4: case NEXTHOP_TYPE_IPV4:
case NEXTHOP_TYPE_IPV4_IFINDEX: case NEXTHOP_TYPE_IPV4_IFINDEX:
if (nexthop->rmap_src.ipv4.s_addr) { if (nexthop->rmap_src.ipv4.s_addr)
vty_out(vty, ", rmapsrc %pI4", &nexthop->rmap_src.ipv4); vty_out(vty, ", rmapsrc %pI4", &nexthop->rmap_src.ipv4);
src_p = true; else if (nexthop->src.ipv4.s_addr)
} else if (nexthop->src.ipv4.s_addr) {
vty_out(vty, ", src %pI4", &nexthop->src.ipv4); vty_out(vty, ", src %pI4", &nexthop->src.ipv4);
src_p = true;
}
if (src_p) {
/* SR-TE information */
if (nexthop->srte_color)
vty_out(vty, ", SR-TE color %u",
nexthop->srte_color);
}
break; break;
case NEXTHOP_TYPE_IPV6: case NEXTHOP_TYPE_IPV6:
case NEXTHOP_TYPE_IPV6_IFINDEX: case NEXTHOP_TYPE_IPV6_IFINDEX:
@ -1462,6 +1452,10 @@ void nexthop_vty_helper(struct vty *vty, const struct nexthop *nexthop,
break; break;
} }
/* SR-TE information */
if (nexthop->srte_color)
vty_out(vty, ", SR-TE color %u", nexthop->srte_color);
/* Label information */ /* Label information */
if (nexthop->nh_label && nexthop->nh_label->num_labels) { if (nexthop->nh_label && nexthop->nh_label->num_labels) {
vty_out(vty, ", label %s", vty_out(vty, ", label %s",