diff options
author | Donald Sharp <donaldsharp72@gmail.com> | 2024-06-06 18:22:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-06 18:22:15 +0200 |
commit | b70a773aa677de98aaba94fdabce86502efd911c (patch) | |
tree | ca0dc683f4c6a1fb1822c3d23d8ad53bf7b4966a | |
parent | Merge pull request #16171 from mjstapp/fix_fpm_nl_len_check (diff) | |
parent | zebra: display srv6 encapsulation source-address when configured (diff) | |
download | frr-b70a773aa677de98aaba94fdabce86502efd911c.tar.xz frr-b70a773aa677de98aaba94fdabce86502efd911c.zip |
Merge pull request #16151 from pguibert6WIND/srv6_fix_source_address
zebra: display srv6 encapsulation source-address when configured
-rw-r--r-- | zebra/zebra_srv6_vty.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/zebra/zebra_srv6_vty.c b/zebra/zebra_srv6_vty.c index c5b850599..d5cd30e64 100644 --- a/zebra/zebra_srv6_vty.c +++ b/zebra/zebra_srv6_vty.c @@ -475,16 +475,24 @@ static int zebra_sr_config(struct vty *vty) struct listnode *node; struct srv6_locator *locator; char str[256]; + bool display_source_srv6 = false; + + if (srv6 && !IPV6_ADDR_SAME(&srv6->encap_src_addr, &in6addr_any)) + display_source_srv6 = true; vty_out(vty, "!\n"); - if (zebra_srv6_is_enable()) { + if (display_source_srv6 || zebra_srv6_is_enable()) { vty_out(vty, "segment-routing\n"); vty_out(vty, " srv6\n"); + } + if (display_source_srv6) { if (!IPV6_ADDR_SAME(&srv6->encap_src_addr, &in6addr_any)) { vty_out(vty, " encapsulation\n"); vty_out(vty, " source-address %pI6\n", &srv6->encap_src_addr); } + } + if (zebra_srv6_is_enable()) { vty_out(vty, " locators\n"); for (ALL_LIST_ELEMENTS_RO(srv6->locators, node, locator)) { inet_ntop(AF_INET6, &locator->prefix.prefix, @@ -514,6 +522,8 @@ static int zebra_sr_config(struct vty *vty) vty_out(vty, " !\n"); vty_out(vty, " exit\n"); vty_out(vty, " !\n"); + } + if (display_source_srv6 || zebra_srv6_is_enable()) { vty_out(vty, "exit\n"); vty_out(vty, "!\n"); } |