diff options
Diffstat (limited to 'proto/rip/rip.h')
-rw-r--r-- | proto/rip/rip.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/proto/rip/rip.h b/proto/rip/rip.h index efad4a6..53e1f20 100644 --- a/proto/rip/rip.h +++ b/proto/rip/rip.h @@ -42,6 +42,17 @@ struct rip_block { u32 metric; }; +struct rip_block_auth { + u16 mustbeFFFF; + u16 authtype; + u16 packetlen; + u8 keyid; + u8 authlen; + u32 seq; + u32 zero0; + u32 zero1; +}; + struct rip_entry { struct fib_node n; @@ -97,7 +108,7 @@ struct rip_proto_config { int authtype; #define AT_NONE 0 #define AT_PLAINTEXT 2 -#define AT_MD5 1234 /* FIXME: get a real number for this one */ +#define AT_MD5 3 }; struct rip_proto { @@ -120,5 +131,5 @@ struct rip_interface *new_iface(struct proto *p, struct iface *new, unsigned lon /* Authentication functions */ -int rip_incoming_authentication( struct proto *p, struct rip_block *block, struct rip_packet *packet, int num ); -void rip_outgoing_authentication( struct proto *p, struct rip_block *block, struct rip_packet *packet, int num ); +int rip_incoming_authentication( struct proto *p, struct rip_block_auth *block, struct rip_packet *packet, int num ); +void rip_outgoing_authentication( struct proto *p, struct rip_block_auth *block, struct rip_packet *packet, int num ); |