On Sun, Jun 02, 2019 at 07:12:35PM +1000, Mitchell Krome wrote:
> I copied the defines from the sys/net bfd code to use in tcpdump and
> noticed that I wasn't seeing any poll bits from the remote side, even
> though tcpdump on the remote side showed it was sending them. Turns out
> the bitmask for state and flags is a bit off. Diff below fixes them to
> match what's in the RFC (and the comment a bit higher in the file)
> 
> Mitchell
> 
> 
> diff --git sys/net/bfd.c sys/net/bfd.c
> index 0d2ec8af512..db8d571f35b 100644
> --- sys/net/bfd.c
> +++ sys/net/bfd.c
> @@ -90,8 +90,8 @@ struct bfd_auth_header {
>  #define BFD_VERSION          1       /* RFC 5880 Page 6 */
>  #define BFD_VER(x)           (((x) & 0xe0) >> 5)
>  #define BFD_DIAG(x)          ((x) & 0x1f)
> -#define BFD_STATE(x)         (((x) & 0xf0) >> 6)
> -#define BFD_FLAGS(x)         ((x) & 0x0f)
> +#define BFD_STATE(x)         (((x) & 0xc0) >> 6)
> +#define BFD_FLAGS(x)         ((x) & 0x3f)
>  #define BFD_HDRLEN           24      /* RFC 5880 Page 37 */
>  #define BFD_AUTH_SIMPLE_LEN  16 + 3  /* RFC 5880 Page 10 */
>  #define BFD_AUTH_MD5_LEN     24      /* RFC 5880 Page 11 */
> 

OK claudio@

Anyone else wants to commit?
-- 
:wq Claudio

Reply via email to