diff options
author | paul <paul> | 2004-06-06 22:06:33 +0000 |
---|---|---|
committer | paul <paul> | 2004-06-06 22:06:33 +0000 |
commit | 35f3c580d88360cbc9df4e15a900b9d443f40ffb (patch) | |
tree | 136df72a2e57a5d756b3589706d051719d8553ec /ripd/ripd.h | |
parent | 85db6b2a404b694f0ef189443770f9509d1023e1 (diff) | |
download | quagga-35f3c580d88360cbc9df4e15a900b9d443f40ffb.tar.bz2 quagga-35f3c580d88360cbc9df4e15a900b9d443f40ffb.tar.xz |
2004-06-06 Paul Jakma <paul.jakma@sun.com>
* ripd.h: Add define for the RIPv2 Authentication Data family
Move the auth type defines up to where other defines live.
Add RIP_AUTH_MD5_COMPAT_SIZE, for backwards compatible
md5->auth_len size. Add md5_auth_len field to struct
rip_interface: (rip_interface_new) Init md5_auth_len to compatible
size.
(ip_rip_authentication_mode_cmd) Extended to handle setting
md5 auth-length. Appropriate aliases added.
(no_ip_rip_authentication_mode_cmd) Reset md5_auth_len to
compatible size.
(rip_interface_config_write) Teach it about md5_auth_len.
_always_ write out the auth-length, so that everyone will get
the setting in their config file, and hence allow for a future
change of default for md5_auth_len to be less painful - every md5
user will have this setting in their config file.
ripd.c: (rip_packet_dump) Change nasty hard coded constants to
symbolic defines. Change various tests of 'ntoh.(variable) ==
constant' to test 'variable == ntoh.(constant)'. Clean up
indentation on some long lines.
(rip_auth_simple_password) ditto.
(rip_auth_md5) ditto, also add length argument and sanity check
md5 data offset field. Sanity check md5 auth length, accept RFC
or old-ripd/cisco lengths.
(rip_auth_md5_set) as per (rip_packet_dump), also write out
the configured md5 auth length for the interface (old-ripd or rfc)
(rip_read) as per (rip_packet_dump)
(rip_write_rte) ditto
(rip_response_process) ditto
(rip_write_rte) ditto
Diffstat (limited to 'ripd/ripd.h')
-rw-r--r-- | ripd/ripd.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/ripd/ripd.h b/ripd/ripd.h index 13a72a11..5c50c576 100644 --- a/ripd/ripd.h +++ b/ripd/ripd.h @@ -78,8 +78,18 @@ #define RIP_ROUTE_REDISTRIBUTE 3 #define RIP_ROUTE_INTERFACE 4 -/* RIP MD5 authentication. */ +/* RIPv2 special RTE family types */ +#define RIP_FAMILY_AUTH 0xffff + +/* RIPv2 authentication types, for RIP_FAMILY_AUTH RTE's */ +#define RIP_NO_AUTH 0 +#define RIP_AUTH_DATA 1 +#define RIP_AUTH_SIMPLE_PASSWORD 2 +#define RIP_AUTH_MD5 3 + +/* RIPv2 MD5 authentication. */ #define RIP_AUTH_MD5_SIZE 16 +#define RIP_AUTH_MD5_COMPAT_SIZE RIP_RTE_SIZE /* RIP structure. */ struct rip @@ -237,10 +247,6 @@ struct rip_interface int ri_receive; /* RIPv2 authentication type. */ -#define RIP_NO_AUTH 0 -#define RIP_AUTH_DATA 1 -#define RIP_AUTH_SIMPLE_PASSWORD 2 -#define RIP_AUTH_MD5 3 int auth_type; /* RIPv2 authentication string. */ @@ -249,6 +255,9 @@ struct rip_interface /* RIPv2 authentication key chain. */ char *key_chain; + /* value to use for md5->auth_len */ + u_int8_t md5_auth_len; + /* Split horizon flag. */ split_horizon_policy_t split_horizon; split_horizon_policy_t split_horizon_default; |