]> git.proxmox.com Git - mirror_frr.git/commitdiff
Merge pull request #989 from qlyoung/if-area-df
authorDavid Lamparter <equinox@diac24.net>
Wed, 16 Aug 2017 17:28:09 +0000 (19:28 +0200)
committerGitHub <noreply@github.com>
Wed, 16 Aug 2017 17:28:09 +0000 (19:28 +0200)
ospfd: remember area-id format for ifaces

ospfd/ospf_interface.h
ospfd/ospf_vty.c

index d4b495b20fd19bef677a97af2842e625ce70911d..829a3f4297985f172b5c14448a7742c23df50f83 100644 (file)
@@ -66,6 +66,8 @@ struct ospf_if_params {
        DECLARE_IF_PARAM(u_char, priority); /* OSPF Interface priority */
        /* Enable OSPF on this interface with area if_area */
        DECLARE_IF_PARAM(struct in_addr, if_area);
+       u_int32_t if_area_id_fmt;
+
        DECLARE_IF_PARAM(u_char, type); /* type of interface */
 #define OSPF_IF_ACTIVE                  0
 #define OSPF_IF_PASSIVE                        1
index 13d4780db3b7ec4e205d4f9cc2e5ce4283637bf9..d9354e0cb13160853feae7666616630de5d60b55 100644 (file)
@@ -6971,6 +6971,7 @@ DEFUN (ip_ospf_area,
        /* enable ospf on this interface with area_id */
        SET_IF_PARAM(params, if_area);
        params->if_area = area_id;
+       params->if_area_id_fmt = format;
        ospf_interface_area_set(ifp);
        ospf->if_ospf_cli_count++;
 
@@ -8312,8 +8313,13 @@ static int config_write_interface(struct vty *vty)
                                else
                                        vty_out(vty, " ip ospf");
 
-                               vty_out(vty, " area %s",
-                                       inet_ntoa(params->if_area));
+
+                               size_t buflen = MAX(strlen("4294967295"),
+                                                   strlen("255.255.255.255"));
+                               char buf[buflen];
+                               area_id2str(buf, sizeof(buf), &params->if_area,
+                                           params->if_area_id_fmt);
+                               vty_out(vty, " area %s", buf);
                                if (params != IF_DEF_PARAMS(ifp))
                                        vty_out(vty, " %s",
                                                inet_ntoa(rn->p.u.prefix4));