bgpd: divorce router-id logic from CLI & zebra
Logic for determining the router-id was spread out over bgp_zebra.c and
bgp_vty.c. Move to bgpd/bgpd.c and have these two call more properly
encapsulated functions.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index 3b69a1b..925e267 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -51,8 +51,6 @@
#include "bgpd/bgp_vty.h"
#include "bgpd/bgp_mpath.h"
-extern struct in_addr router_id_zebra;
-
/* Utility function to get address family from current node. */
afi_t
bgp_node_afi (struct vty *vty)
@@ -489,8 +487,7 @@
return CMD_WARNING;
}
- bgp->router_id_static = id;
- bgp_router_id_set (bgp, &id);
+ bgp_router_id_static_set (bgp, id);
return CMD_SUCCESS;
}
@@ -524,8 +521,8 @@
}
}
- bgp->router_id_static.s_addr = 0;
- bgp_router_id_set (bgp, &router_id_zebra);
+ id.s_addr = 0;
+ bgp_router_id_static_set (bgp, id);
return CMD_SUCCESS;
}