diff options
author | Martin Mares <mj@ucw.cz> | 1999-08-03 19:36:06 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1999-08-03 19:36:06 +0000 |
commit | dce267832a0468ed5e596f0b0733b926af7ead3a (patch) | |
tree | 76de529a85a81b12bd04ed150db208b76b0b17b1 /nest/config.Y | |
parent | 707ef833783ef731c56baae1c0dc7b7a9e7321ff (diff) |
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.Y | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/nest/config.Y b/nest/config.Y index 0c653211..dfef4e27 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 */ |