isisd: show interface's ipv6 addreses

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 30aa926..a71ab21 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -902,6 +902,10 @@
 
   if (detail == ISIS_UI_LEVEL_DETAIL)
     {
+      struct listnode *node;
+      struct prefix *ip_addr;
+      u_char buf[BUFSIZ];
+
       vty_out (vty, "  Interface: %s", circuit->interface->name);
       vty_out (vty, ", State: %s", circuit_state2string (circuit->state));
       if (circuit->is_passive)
@@ -983,9 +987,6 @@
         }
       if (circuit->ip_addrs && listcount (circuit->ip_addrs) > 0)
         {
-          struct listnode *node;
-          struct prefix *ip_addr;
-          u_char buf[BUFSIZ];
           vty_out (vty, "    IP Prefix(es):%s", VTY_NEWLINE);
           for (ALL_LIST_ELEMENTS_RO (circuit->ip_addrs, node, ip_addr))
             {
@@ -993,6 +994,25 @@
               vty_out (vty, "      %s%s", buf, VTY_NEWLINE);
             }
         }
+      if (circuit->ipv6_link && listcount(circuit->ipv6_link) > 0)
+        {
+          vty_out(vty, "    IPv6 Link-Locals:%s", VTY_NEWLINE);
+          for (ALL_LIST_ELEMENTS_RO(circuit->ipv6_link, node, ip_addr))
+            {
+              prefix2str(ip_addr, (char*)buf, BUFSIZ),
+              vty_out(vty, "      %s%s", buf, VTY_NEWLINE);
+            }
+        }
+      if (circuit->ipv6_link && listcount(circuit->ipv6_non_link) > 0)
+        {
+          vty_out(vty, "    IPv6 Prefixes:%s", VTY_NEWLINE);
+          for (ALL_LIST_ELEMENTS_RO(circuit->ipv6_non_link, node, ip_addr))
+            {
+              prefix2str(ip_addr, (char*)buf, BUFSIZ),
+              vty_out(vty, "      %s%s", buf, VTY_NEWLINE);
+            }
+        }
+
       vty_out (vty, "%s", VTY_NEWLINE);
     }
   return;