From: Christian Franke Date: Thu, 11 Jul 2013 07:56:29 +0000 (+0000) Subject: ospfd: don't allow to set network type on loopback interfaces X-Git-Tag: frr-2.0-rc1~1606 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=4b4bda9bb1913579bd54667f62fafe58e2746478;p=mirror%2Ffrr.git ospfd: don't allow to set network type on loopback interfaces OSPFd only allocates some stub information for loopback interfaces. This causes a crash when the interface state machine is started on that interface by configuring a different network type. It doesn't make much sense to configure the network type of a loopback interface, therefore, just forbid it. See also bugzilla #670. Signed-off-by: Christian Franke Signed-off-by: David Lamparter --- diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 1489b20a4c..ee8c901900 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -5309,7 +5309,13 @@ DEFUN (ip_ospf_network, struct interface *ifp = vty->index; int old_type = IF_DEF_PARAMS (ifp)->type; struct route_node *rn; - + + if (old_type == OSPF_IFTYPE_LOOPBACK) + { + vty_out (vty, "This is a loopback interface. Can't set network type.%s", VTY_NEWLINE); + return CMD_WARNING; + } + if (strncmp (argv[0], "b", 1) == 0) IF_DEF_PARAMS (ifp)->type = OSPF_IFTYPE_BROADCAST; else if (strncmp (argv[0], "n", 1) == 0)