summaryrefslogtreecommitdiff
path: root/proto/radv/config.Y
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/config.Y
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/config.Y')
-rw-r--r--proto/radv/config.Y15
1 files changed, 9 insertions, 6 deletions
diff --git a/proto/radv/config.Y b/proto/radv/config.Y
index 53715f77..dda9cfcd 100644
--- a/proto/radv/config.Y
+++ b/proto/radv/config.Y
@@ -1,6 +1,8 @@
/*
* BIRD -- Router Advertisement Configuration
*
+ * (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.
*/
@@ -26,12 +28,12 @@ static u8 radv_mult_val; /* Used by radv_mult for second return value */
CF_DECLS
-CF_KEYWORDS(RADV, PREFIX, INTERFACE, MIN, MAX, RA, DELAY, INTERVAL,
- MANAGED, OTHER, CONFIG, LINGER, LINK, MTU, REACHABLE, TIME, RETRANS,
- TIMER, CURRENT, HOP, LIMIT, DEFAULT, VALID, PREFERRED, MULT,
- LIFETIME, SKIP, ONLINK, AUTONOMOUS, RDNSS, DNSSL, NS, DOMAIN,
- LOCAL, TRIGGER, SENSITIVE, PREFERENCE, LOW, MEDIUM, HIGH, PROPAGATE,
- ROUTE, ROUTES, RA_PREFERENCE, RA_LIFETIME)
+CF_KEYWORDS(RADV, PREFIX, INTERFACE, MIN, MAX, RA, DELAY, INTERVAL, SOLICITED,
+ UNICAST, MANAGED, OTHER, CONFIG, LINGER, LINK, MTU, REACHABLE, TIME,
+ RETRANS, TIMER, CURRENT, HOP, LIMIT, DEFAULT, VALID, PREFERRED, MULT,
+ LIFETIME, SKIP, ONLINK, AUTONOMOUS, RDNSS, DNSSL, NS, DOMAIN, LOCAL,
+ TRIGGER, SENSITIVE, PREFERENCE, LOW, MEDIUM, HIGH, PROPAGATE, ROUTE,
+ ROUTES, RA_PREFERENCE, RA_LIFETIME)
CF_ENUM(T_ENUM_RA_PREFERENCE, RA_PREF_, LOW, MEDIUM, HIGH)
@@ -98,6 +100,7 @@ radv_iface_item:
MIN RA INTERVAL expr { RADV_IFACE->min_ra_int = $4; if ($4 < 3) cf_error("Min RA interval must be at least 3"); }
| MAX RA INTERVAL expr { RADV_IFACE->max_ra_int = $4; if (($4 < 4) || ($4 > 1800)) cf_error("Max RA interval must be in range 4-1800"); }
| MIN DELAY expr { RADV_IFACE->min_delay = $3; if ($3 <= 0) cf_error("Min delay must be positive"); }
+ | SOLICITED RA UNICAST bool { RADV_IFACE->solicited_ra_unicast = $4; }
| MANAGED bool { RADV_IFACE->managed = $2; }
| OTHER CONFIG bool { RADV_IFACE->other_config = $3; }
| LINK MTU expr { RADV_IFACE->link_mtu = $3; }