diff options
author | Peter Hessler <phessler@cvs.openbsd.org> | 2016-09-23 12:50:18 +0000 |
---|---|---|
committer | Peter Hessler <phessler@cvs.openbsd.org> | 2016-09-23 12:50:18 +0000 |
commit | 423545f214750ef4494a2a87ee876d5deb2dafdd (patch) | |
tree | 1109712d66de071b4fd3ff70e4d84bf5eb8e314f /sys | |
parent | 63bc958dcaf87718c39213c20aaac9663ed7290e (diff) |
based on a more careful reading of the spec, we're not allowed to make
decisions on what the "my discriminator" value is from our neighbor. we
should only copy it and send it back.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net/bfd.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/sys/net/bfd.c b/sys/net/bfd.c index 32af7684cdd..4f1086b513f 100644 --- a/sys/net/bfd.c +++ b/sys/net/bfd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bfd.c,v 1.38 2016/09/23 10:20:20 phessler Exp $ */ +/* $OpenBSD: bfd.c,v 1.39 2016/09/23 12:50:17 phessler Exp $ */ /* * Copyright (c) 2016 Peter Hessler <phessler@openbsd.org> @@ -724,15 +724,8 @@ bfd_input(struct bfd_config *bfd, struct mbuf *m) #endif } - if ((bfd->bc_neighbor->bn_rdiscr == 0) && - (ntohl(peer->bfd_my_discriminator) != 0)) - bfd->bc_neighbor->bn_rdiscr = ntohl(peer->bfd_my_discriminator); - - if (bfd->bc_neighbor->bn_rdiscr != ntohl(peer->bfd_my_discriminator)) - goto discard; - + bfd->bc_neighbor->bn_rdiscr = ntohl(peer->bfd_my_discriminator); bfd->bc_neighbor->bn_rstate = state; - bfd->bc_neighbor->bn_rdemand = (flags & BFD_FLAG_D); bfd->bc_poll = (flags & BFD_FLAG_F); |