store and print the rdomain of the interfaces we see.

ok?

(benno_print_rdomain_2.diff)

diff --git usr.sbin/bgpctl/bgpctl.c usr.sbin/bgpctl/bgpctl.c
index f8d4a5adcc9..f22a2561c42 100644
--- usr.sbin/bgpctl/bgpctl.c
+++ usr.sbin/bgpctl/bgpctl.c
@@ -1140,7 +1140,7 @@ show_nexthop_msg(struct imsg *imsg)
 void
 show_interface_head(void)
 {
-       printf("%-15s%-15s%-15s%s\n", "Interface", "Nexthop state", "Flags",
+       printf("%-15s%-9s%-9s%-7s%s\n", "Interface", "rdomain", "Nexthop", 
"Flags",
            "Link state");
 }
 
@@ -1223,8 +1223,9 @@ show_interface_msg(struct imsg *imsg)
        case IMSG_CTL_SHOW_INTERFACE:
                k = imsg->data;
                printf("%-15s", k->ifname);
-               printf("%-15s", k->nh_reachable ? "ok" : "invalid");
-               printf("%-15s", k->flags & IFF_UP ? "UP" : "");
+               printf("%-9u", k->rdomain);
+               printf("%-9s", k->nh_reachable ? "ok" : "invalid");
+               printf("%-7s", k->flags & IFF_UP ? "UP" : "");
 
                if ((ifms_type = ift2ifm(k->if_type)) != 0)
                        printf("%s, ", get_media_descr(ifms_type));
diff --git usr.sbin/bgpd/bgpd.h usr.sbin/bgpd/bgpd.h
index c5a00e7b83f..9d18756f1b6 100644
--- usr.sbin/bgpd/bgpd.h
+++ usr.sbin/bgpd/bgpd.h
@@ -567,6 +567,7 @@ struct kroute_nexthop {
 struct kif {
        char                     ifname[IFNAMSIZ];
        u_int64_t                baudrate;
+       u_int                    rdomain;
        int                      flags;
        u_short                  ifindex;
        u_int8_t                 if_type;
diff --git usr.sbin/bgpd/kroute.c usr.sbin/bgpd/kroute.c
index ed5405db314..1ff126f1591 100644
--- usr.sbin/bgpd/kroute.c
+++ usr.sbin/bgpd/kroute.c
@@ -2491,6 +2491,7 @@ if_change(u_short ifindex, int flags, struct if_data *ifd)
        kif->k.flags = flags;
        kif->k.link_state = ifd->ifi_link_state;
        kif->k.if_type = ifd->ifi_type;
+       kif->k.rdomain = ifd->ifi_rdomain;
        kif->k.baudrate = ifd->ifi_baudrate;
 
        send_imsg_session(IMSG_IFINFO, 0, &kif->k, sizeof(kif->k));
@@ -3057,6 +3058,7 @@ fetchifs(int ifindex)
                kif->k.flags = ifm.ifm_flags;
                kif->k.link_state = ifm.ifm_data.ifi_link_state;
                kif->k.if_type = ifm.ifm_data.ifi_type;
+               kif->k.rdomain = ifm.ifm_data.ifi_rdomain;
                kif->k.baudrate = ifm.ifm_data.ifi_baudrate;
                kif->k.nh_reachable = kif_validate(&kif->k);
 

Reply via email to