diff options
| author | Igor Ryzhov <iryzhov@nfware.com> | 2024-04-12 16:09:43 +0300 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-12 16:09:43 +0300 | 
| commit | b6e6656a2e24e669b5a87db76edb8b09e48fce9e (patch) | |
| tree | 299b32e82f9e4b2b3e82802f1b23331325b1cd61 /bfdd | |
| parent | 692f916b8841a4f75ec2487e379bc5ab2dad1a08 (diff) | |
| parent | 665ec41339659bef7f643c6df7aab034be0523ed (diff) | |
Merge pull request #15697 from zmw12306/bfd_check_Mflag
bfdd: Add check for flag Multipoint (M)
Diffstat (limited to 'bfdd')
| -rw-r--r-- | bfdd/bfd.h | 2 | ||||
| -rw-r--r-- | bfdd/bfd_packet.c | 6 | 
2 files changed, 8 insertions, 0 deletions
diff --git a/bfdd/bfd.h b/bfdd/bfd.h index 66bf706808..9963901e13 100644 --- a/bfdd/bfd.h +++ b/bfdd/bfd.h @@ -105,6 +105,8 @@ struct bfd_echo_pkt {  #define BFD_CBIT 0x08  #define BFD_ABIT 0x04  #define BFD_DEMANDBIT 0x02 +#define BFD_MBIT	      0x01 +#define BFD_GETMBIT(flags)    (flags & BFD_MBIT)  #define BFD_SETDEMANDBIT(flags, val)                                           \  	{                                                                      \  		if ((val))                                                     \ diff --git a/bfdd/bfd_packet.c b/bfdd/bfd_packet.c index fec195c77e..8110f434c2 100644 --- a/bfdd/bfd_packet.c +++ b/bfdd/bfd_packet.c @@ -898,6 +898,12 @@ void bfd_recv_cb(struct event *t)  		return;  	} +	if (BFD_GETMBIT(cp->flags)) { +		cp_debug(is_mhop, &peer, &local, ifindex, vrfid, +			 "detect non-zero Multipoint (M) flag"); +		return; +	} +  	if (cp->discrs.my_discr == 0) {  		cp_debug(is_mhop, &peer, &local, ifindex, vrfid,  			 "'my discriminator' is zero");  | 
