summaryrefslogtreecommitdiffstats
path: root/nest/config.Y
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-08-03 21:36:06 +0200
committerMartin Mares <mj@ucw.cz>1999-08-03 21:36:06 +0200
commitdce267832a0468ed5e596f0b0733b926af7ead3a (patch)
tree76de529a85a81b12bd04ed150db208b76b0b17b1 /nest/config.Y
parent707ef833783ef731c56baae1c0dc7b7a9e7321ff (diff)
downloadbird-dce267832a0468ed5e596f0b0733b926af7ead3a.tar
bird-dce267832a0468ed5e596f0b0733b926af7ead3a.zip
Basic support for IPv6. The system-dependent part doesn't work yet,
but the core routines are there and seem to be working. o lib/ipv6.[ch] written o Lexical analyser recognizes IPv6 addresses and when in IPv6 mode, treats pure IPv4 addresses as router IDs. o Router ID must be configured manually on IPv6 systems. o Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts. o Fixed few places where ipa_(hton|ntoh) was called as a function returning converted address.
Diffstat (limited to 'nest/config.Y')
-rw-r--r--nest/config.Y13
1 files changed, 10 insertions, 3 deletions
diff --git a/nest/config.Y b/nest/config.Y
index 0c65321..dfef4e2 100644
--- a/nest/config.Y
+++ b/nest/config.Y
@@ -20,7 +20,7 @@ CF_KEYWORDS(ROUTER, ID, PROTOCOL, PREFERENCE, DISABLED, DEBUG, ALL, OFF, DIRECT)
CF_KEYWORDS(INTERFACE, IMPORT, EXPORT, FILTER, NONE, TABLE)
CF_KEYWORDS(PASSWORD, FROM, PASSIVE, TO, ID)
-%type <i> idval
+%type <i32> idval
%type <f> imexport
%type <r> rtable
%type <p> password_list password_begin
@@ -37,8 +37,15 @@ rtrid: ROUTER ID idval ';' {
;
idval:
- NUM
- | IPA { $$ = ipa_to_u32($1); }
+ NUM { $$ = $1; }
+ | RTRID
+ | IPA {
+#ifndef IPV6
+ $$ = ipa_to_u32($1);
+#else
+ cf_error("Router IDs must be entered as hexadecimal numbers in IPv6 version");
+#endif
+ }
;
/* Creation of routing tables */