]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospfd/ospf_bfd.c
zebra, lib: fix the ZEBRA_INTERFACE_VRF_UPDATE zapi message
[mirror_frr.git] / ospfd / ospf_bfd.c
index 6d07b44364dae7ce52b36e62714ce28e421b6f81..594735a08f8021919240b920308d250e1ff82bcd 100644 (file)
@@ -75,12 +75,13 @@ static void ospf_bfd_reg_dereg_nbr(struct ospf_neighbor *nbr, int command)
        bfd_info = (struct bfd_info *)params->bfd_info;
 
        if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE))
-               zlog_debug("%s nbr (%s) with BFD",
+               zlog_debug("%s nbr (%s) with BFD. OSPF vrf %s",
                           bfd_get_command_dbg_str(command),
-                          inet_ntoa(nbr->src));
+                          inet_ntoa(nbr->src),
+                          ospf_vrf_id_to_name(oi->ospf->vrf_id));
 
        bfd_peer_sendmsg(zclient, bfd_info, AF_INET, &nbr->src, NULL, ifp->name,
-                        0, 0, command, 0, VRF_DEFAULT);
+                        0, 0, command, 0, oi->ospf->vrf_id);
 }
 
 /*
@@ -158,7 +159,7 @@ static int ospf_bfd_nbr_replay(int command, struct zclient *zclient,
        /* Send the client registration */
        bfd_client_sendmsg(zclient, ZEBRA_BFD_CLIENT_REGISTER);
 
-       /* Replay the neighbor, if BFD is enabled in BGP */
+       /* Replay the neighbor, if BFD is enabled in OSPF */
        for (ALL_LIST_ELEMENTS(om->ospf, node, onode, ospf)) {
                for (ALL_LIST_ELEMENTS_RO(ospf->oiflist, inode, oi)) {
                        if ((nbrs = oi->nbrs) == NULL)
@@ -289,17 +290,21 @@ void ospf_bfd_info_nbr_create(struct ospf_interface *oi,
 void ospf_bfd_write_config(struct vty *vty, struct ospf_if_params *params)
 
 {
+#if HAVE_BFDD == 0
        struct bfd_info *bfd_info;
+#endif /* ! HAVE_BFDD */
 
        if (!params->bfd_info)
                return;
 
+#if HAVE_BFDD == 0
        bfd_info = (struct bfd_info *)params->bfd_info;
 
        if (CHECK_FLAG(bfd_info->flags, BFD_FLAG_PARAM_CFG))
                vty_out(vty, " ip ospf bfd %d %d %d\n", bfd_info->detect_mult,
                        bfd_info->required_min_rx, bfd_info->desired_min_tx);
        else
+#endif /* ! HAVE_BFDD */
                vty_out(vty, " ip ospf bfd\n");
 }
 
@@ -307,7 +312,7 @@ void ospf_bfd_write_config(struct vty *vty, struct ospf_if_params *params)
  * ospf_bfd_show_info - Show BFD info structure
  */
 void ospf_bfd_show_info(struct vty *vty, void *bfd_info, json_object *json_obj,
-                       u_char use_json, int param_only)
+                       bool use_json, int param_only)
 {
        if (param_only)
                bfd_show_param(vty, (struct bfd_info *)bfd_info, 1, 0, use_json,
@@ -321,7 +326,7 @@ void ospf_bfd_show_info(struct vty *vty, void *bfd_info, json_object *json_obj,
  * ospf_bfd_interface_show - Show the interface BFD configuration.
  */
 void ospf_bfd_interface_show(struct vty *vty, struct interface *ifp,
-                            json_object *json_interface_sub, u_char use_json)
+                            json_object *json_interface_sub, bool use_json)
 {
        struct ospf_if_params *params;
 
@@ -335,8 +340,8 @@ void ospf_bfd_interface_show(struct vty *vty, struct interface *ifp,
  * ospf_bfd_if_param_set - Set the configured BFD paramter values for
  *                         interface.
  */
-static void ospf_bfd_if_param_set(struct interface *ifp, u_int32_t min_rx,
-                                 u_int32_t min_tx, u_int8_t detect_mult,
+static void ospf_bfd_if_param_set(struct interface *ifp, uint32_t min_rx,
+                                 uint32_t min_tx, uint8_t detect_mult,
                                  int defaults)
 {
        struct ospf_if_params *params;
@@ -372,7 +377,12 @@ DEFUN (ip_ospf_bfd,
        return CMD_SUCCESS;
 }
 
-DEFUN (ip_ospf_bfd_param,
+#if HAVE_BFDD > 0
+DEFUN_HIDDEN(
+#else
+DEFUN(
+#endif /* HAVE_BFDD */
+       ip_ospf_bfd_param,
        ip_ospf_bfd_param_cmd,
        "ip ospf bfd (2-255) (50-60000) (50-60000)",
        "IP Information\n"
@@ -386,9 +396,9 @@ DEFUN (ip_ospf_bfd_param,
        int idx_number = 3;
        int idx_number_2 = 4;
        int idx_number_3 = 5;
-       u_int32_t rx_val;
-       u_int32_t tx_val;
-       u_int8_t dm_val;
+       uint32_t rx_val;
+       uint32_t tx_val;
+       uint8_t dm_val;
        int ret;
 
        assert(ifp);
@@ -406,14 +416,21 @@ DEFUN (ip_ospf_bfd_param,
 
 DEFUN (no_ip_ospf_bfd,
        no_ip_ospf_bfd_cmd,
+#if HAVE_BFDD > 0
+       "no ip ospf bfd",
+#else
        "no ip ospf bfd [(2-255) (50-60000) (50-60000)]",
+#endif /* HAVE_BFDD */
        NO_STR
        "IP Information\n"
        "OSPF interface commands\n"
        "Disables BFD support\n"
+#if HAVE_BFDD == 0
        "Detect Multiplier\n"
        "Required min receive interval\n"
-       "Desired min transmit interval\n")
+       "Desired min transmit interval\n"
+#endif /* !HAVE_BFDD */
+)
 {
        VTY_DECLVAR_CONTEXT(interface, ifp);
        struct ospf_if_params *params;