]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bfdd: add vrf information as key element for bfd session search
authorPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 19 Jun 2019 14:49:59 +0000 (16:49 +0200)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Tue, 27 Aug 2019 13:08:50 +0000 (15:08 +0200)
the default vrf is looked up, in the search list algorithm.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
bfdd/bfd.c
bfdd/ptm_adapter.c

index 5d143d4e5f60379fd27d8e86a9574e9c206bf772..2a41758bbc954f02e839bf072f779618d27f2fc3 100644 (file)
@@ -391,10 +391,8 @@ struct bfd_session *ptm_bfd_sess_find(struct bfd_pkt *cp,
 
        /* Search for session without using discriminator. */
        ifp = if_lookup_by_index(ifindex, vrfid);
-       if (vrfid != VRF_DEFAULT)
-               vrf = vrf_lookup_by_id(vrfid);
-       else
-               vrf = NULL;
+
+       vrf = vrf_lookup_by_id(vrfid);
 
        gen_bfd_key(&key, peer, local, is_mhop, ifp ? ifp->name : NULL,
                    vrf ? vrf->name : VRF_DEFAULT_NAME);
index 3e2ace6ea630a95598150799c158be5e185a4730..553033abfb41838d01c9dfb08b2fdf21deacc56f 100644 (file)
@@ -376,6 +376,9 @@ static int _ptm_msg_read(struct stream *msg, int command, vrf_id_t vrf_id,
                        log_error("ptm-read: vrf id %u could not be identified", vrf_id);
                        return -1;
                }
+       } else {
+               bpc->bpc_has_vrfname = true;
+               strlcpy(bpc->bpc_vrfname, VRF_DEFAULT_NAME, sizeof(bpc->bpc_vrfname));
        }
 
        STREAM_GETC(msg, bpc->bpc_cbit);