xref: /minix3/minix/include/net/gen/rip.h (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1 /*
2 net/gen/rip.h
3 
4 Definitions for the Routing Information Protocol (RFC-1058).
5 
6 Created:	Aug 16, 1993 by Philip Homburg <philip@cs.vu.nl>
7 */
8 
9 #ifndef NET__GEN__RIP_H
10 #define NET__GEN__RIP_H
11 
12 typedef struct rip_hdr
13 {
14 	u8_t rh_command;
15 	u8_t rh_version;
16 	u16_t rh_zero;
17 } rip_hdr_t;
18 
19 #define RHC_REQUEST	1
20 #define RHC_RESPONSE	2
21 
22 #define RIP_ENTRY_MAX	25
23 
24 typedef struct rip_entry
25 {
26 	union
27 	{
28 		struct rip_entry_v1
29 		{
30 			u16_t re_family;
31 			u16_t re_zero0;
32 			u32_t re_address;
33 			u32_t re_zero1;
34 			u32_t re_zero2;
35 			u32_t re_metric;
36 		} v1;
37 		struct rip_entry_v2
38 		{
39 			u16_t re_family;
40 			u16_t re_tag;
41 			u32_t re_address;
42 			u32_t re_mask;
43 			u32_t re_nexthop;
44 			u32_t re_metric;
45 		} v2;
46 	} u;
47 } rip_entry_t;
48 
49 #define RIP_FAMILY_IP	2
50 #define RIP_INFINITY	16
51 
52 #define RIP_UDP_PORT	520
53 #define RIP_PERIOD	 30	/* A responce is sent once every
54 				 * RIP_PERIOD seconds
55 				 */
56 #define RIP_FUZZ	 10	/* The actual value used is RIP_FREQUENCE -
57 				 * a random number of at most RIP_FUZZ.
58 				 */
59 #define RIP_TIMEOUT	180	/* A route is dead after RIP_TIMEOUT seconds */
60 #define RIP_DELETE_TO	120	/* A dead route is removed after RIP_DELETE_TO
61 				 * seconds
62 				 */
63 
64 #ifdef __RIP_DEBUG
65 #undef RIP_PERIOD
66 #define RIP_PERIOD	15
67 #undef RIP_TIMEOUT
68 #define RIP_TIMEOUT	10
69 #undef RIP_DELETE_TO
70 #define RIP_DELETE_TO	10
71 #endif /* __RIP_DEBUG */
72 
73 #endif /* NET__GEN__RIP_H */
74 
75 /*
76  * $PchId: rip.h,v 1.3 1995/11/17 22:21:16 philip Exp $
77  */
78