diff options
author | Florian Obser <florian@cvs.openbsd.org> | 2020-04-14 06:45:00 +0000 |
---|---|---|
committer | Florian Obser <florian@cvs.openbsd.org> | 2020-04-14 06:45:00 +0000 |
commit | b970d9468956c6057b2263f6bafee1faf4622e8c (patch) | |
tree | b545e078294001e9439182c1564e3b972278fb51 /sbin/slaacd/slaacd.c | |
parent | b698f0958f9cb81eccfd1a798712f73310f5ca9c (diff) |
When slaacd is run in a routing domain (rdomain) other than the default (0) it
sends router solicitations and receives router advertisements only
from interfaces that are in its own rdomain.
It also only sees interfaces arriving, or departing in its own
rdomain.
However, for the default route there is rdomain cross-talk because
slaacd configures the default route in the default rdomain (and
fails).
Make slaacd honour the rdomain it's running in as well.
OK denis, phessler, benno
Diffstat (limited to 'sbin/slaacd/slaacd.c')
-rw-r--r-- | sbin/slaacd/slaacd.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sbin/slaacd/slaacd.c b/sbin/slaacd/slaacd.c index 58f15bcda37..610566cc0ec 100644 --- a/sbin/slaacd/slaacd.c +++ b/sbin/slaacd/slaacd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: slaacd.c,v 1.46 2019/12/15 16:34:08 deraadt Exp $ */ +/* $OpenBSD: slaacd.c,v 1.47 2020/04/14 06:44:59 florian Exp $ */ /* * Copyright (c) 2017 Florian Obser <florian@openbsd.org> @@ -755,7 +755,7 @@ configure_gateway(struct imsg_configure_dfr *dfr, uint8_t rtm_type) rtm.rtm_version = RTM_VERSION; rtm.rtm_type = rtm_type; rtm.rtm_msglen = sizeof(rtm); - rtm.rtm_tableid = 0; /* XXX imsg->rdomain; */ + rtm.rtm_tableid = getrtable(); rtm.rtm_index = dfr->if_index; rtm.rtm_seq = ++rtm_seq; rtm.rtm_priority = RTP_NONE; @@ -852,7 +852,7 @@ send_rdns_proposal(struct imsg_propose_rdns *rdns) rtm.rtm_version = RTM_VERSION; rtm.rtm_type = RTM_PROPOSAL; rtm.rtm_msglen = sizeof(rtm); - rtm.rtm_tableid = 0; /* XXX imsg->rdomain; */ + rtm.rtm_tableid = getrtable(); rtm.rtm_index = rdns->if_index; rtm.rtm_seq = ++rtm_seq; rtm.rtm_priority = RTP_PROPOSAL_SLAAC; |