summaryrefslogtreecommitdiff
path: root/proto/radv/radv.h
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2019-08-12 00:41:36 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2019-08-12 00:43:19 +0200
commit70a4320bdd44122d7a93bc71c77a9d684b3c9adc (patch)
tree01e1d376a979ca0e71ebd016f89439c1f3dbd68c /proto/radv/radv.h
parent9f3e09832081bc029dc98ae6dda49ee86d138fde (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.h10
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);