diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-08-12 00:41:36 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-08-12 00:43:19 +0200 |
commit | 70a4320bdd44122d7a93bc71c77a9d684b3c9adc (patch) | |
tree | 01e1d376a979ca0e71ebd016f89439c1f3dbd68c /proto/radv/radv.h | |
parent | 9f3e09832081bc029dc98ae6dda49ee86d138fde (diff) |
RAdv: Allow solicited RAs to be sent as unicast
Add option to send solicited router advertisements as unicast directly
to soliciting nodes instead of as multicast to all-nodes group.
Diffstat (limited to 'proto/radv/radv.h')
-rw-r--r-- | proto/radv/radv.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/proto/radv/radv.h b/proto/radv/radv.h index 719948d5..2c8ad7d4 100644 --- a/proto/radv/radv.h +++ b/proto/radv/radv.h @@ -1,6 +1,8 @@ /* * BIRD -- Router Advertisement * + * (c) 2011--2019 Ondrej Zajicek <santiago@crfreenet.org> + * (c) 2011--2019 CZ.NIC z.s.p.o. * * Can be freely distributed and used under the terms of the GNU GPL. */ @@ -66,6 +68,8 @@ struct radv_iface_config u32 max_ra_int; u32 min_delay; + u8 solicited_ra_unicast; /* Send solicited RAs as unicast */ + u32 prefix_linger_time; /* How long we advertise dead prefixes with lifetime 0 */ u32 route_linger_time; /* How long we advertise dead routes with lifetime 0 */ @@ -204,12 +208,16 @@ struct radv_iface log(L_TRACE "%s: " msg, p->p.name , ## args ); } while(0) +/* Invalidate cached RA packet */ +static inline void radv_invalidate(struct radv_iface *ifa) +{ ifa->plen = 0; } + /* radv.c */ void radv_iface_notify(struct radv_iface *ifa, int event); /* packets.c */ int radv_process_domain(struct radv_dnssl_config *cf); -void radv_send_ra(struct radv_iface *ifa); +void radv_send_ra(struct radv_iface *ifa, ip_addr to); int radv_sk_open(struct radv_iface *ifa); |