summaryrefslogtreecommitdiff
path: root/proto/ospf/hello.c
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2019-07-15 16:07:16 +0200
committerMaria Matejka <mq@ucw.cz>2019-07-15 16:07:16 +0200
commit8263690e754a83b8f3c58bd0080a1628d6cba556 (patch)
tree9c0503f0a166b72f018ae3c2e0de0e91d089a62a /proto/ospf/hello.c
parentefd7c87b5bcd476ba74ffe9f369e2f6fe978cbb1 (diff)
parent1aec7112f7314c3e9a4d8b9440dd85a782295310 (diff)
Merge remote-tracking branch 'origin/master' into mq-filter-stack
Diffstat (limited to 'proto/ospf/hello.c')
-rw-r--r--proto/ospf/hello.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/proto/ospf/hello.c b/proto/ospf/hello.c
index 9e427c4f..d094f934 100644
--- a/proto/ospf/hello.c
+++ b/proto/ospf/hello.c
@@ -81,7 +81,7 @@ ospf_send_hello(struct ospf_iface *ifa, int kind, struct ospf_neighbor *dirn)
ps->netmask = htonl(u32_mkmask(ifa->addr->prefix.pxlen));
ps->helloint = ntohs(ifa->helloint);
- ps->options = ifa->oa->options;
+ ps->options = ifa->oa->options & HELLO2_OPT_MASK;
ps->priority = ifa->priority;
ps->deadint = htonl(ifa->deadint);
ps->dr = htonl(ipa_to_u32(ifa->drip));
@@ -96,7 +96,7 @@ ospf_send_hello(struct ospf_iface *ifa, int kind, struct ospf_neighbor *dirn)
u32 options = ifa->oa->options | (ifa->autype == OSPF_AUTH_CRYPT ? OPT_AT : 0);
ps->iface_id = htonl(ifa->iface_id);
- ps->options = ntohl(options | (ifa->priority << 24));
+ ps->options = ntohl((options & HELLO3_OPT_MASK) | (ifa->priority << 24));
ps->helloint = ntohs(ifa->helloint);
ps->deadint = htons(ifa->deadint);
ps->dr = htonl(ifa->drid);