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