Skip to content

Commit

Permalink
zebra: Show IPv6 link-local interfaces under show interface brief o…
Browse files Browse the repository at this point in the history
…utput

Despite if it's managed by FRR or the kernel, show it. If the system has only
link-local addresses, we should show it unless it's a secondary one.

Signed-off-by: Donatas Abraitis <[email protected]>
  • Loading branch information
ton31337 committed Dec 21, 2023
1 parent f95479b commit cb777f9
Showing 1 changed file with 14 additions and 26 deletions.
40 changes: 14 additions & 26 deletions zebra/interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -2500,28 +2500,21 @@ static void ifs_dump_brief_vty(struct vty *vty, struct vrf *vrf)
v6_list_size++;
}
frr_each (if_connected, ifp->connected, connected) {
if (CHECK_FLAG(connected->conf, ZEBRA_IFC_REAL)
&& !CHECK_FLAG(connected->flags,
ZEBRA_IFA_SECONDARY)
&& (connected->address->family == AF_INET6)) {
if (!CHECK_FLAG(connected->flags, ZEBRA_IFA_SECONDARY) &&
(connected->address->family == AF_INET6)) {
p = connected->address;
/* Don't print link local pfx */
if (!IN6_IS_ADDR_LINKLOCAL(&p->u.prefix6)) {
if (first_pfx_printed) {
/* padding to prepare row only
* for ip addr */
vty_out(vty, "%-40s", "");
if (v6_list_size > 1)
vty_out(vty, "+ ");
vty_out(vty, "%pFX\n", p);
} else {
if (v6_list_size > 1)
vty_out(vty, "+ ");
vty_out(vty, "%pFX\n", p);
}
first_pfx_printed = true;
break;
if (first_pfx_printed) {
vty_out(vty, "%-40s", "");
if (v6_list_size > 1)
vty_out(vty, "+ ");
vty_out(vty, "%pFX\n", p);
} else {
if (v6_list_size > 1)
vty_out(vty, "+ ");
vty_out(vty, "%pFX\n", p);
}
first_pfx_printed = true;
break;
}
}
if (!first_pfx_printed)
Expand Down Expand Up @@ -2549,12 +2542,7 @@ static void ifs_dump_brief_vty_json(json_object *json, struct vrf *vrf)
json_addrs = json_object_new_array();
json_object_object_add(json_if, "addresses", json_addrs);
frr_each (if_connected, ifp->connected, connected) {
if (CHECK_FLAG(connected->conf, ZEBRA_IFC_REAL)
&& !CHECK_FLAG(connected->flags,
ZEBRA_IFA_SECONDARY)
&& !(connected->address->family == AF_INET6
&& IN6_IS_ADDR_LINKLOCAL(
&connected->address->u.prefix6))) {
if (!CHECK_FLAG(connected->flags, ZEBRA_IFA_SECONDARY)) {
char buf[PREFIX2STR_BUFFER];

json_array_string_add(
Expand Down

0 comments on commit cb777f9

Please sign in to comment.