home *** CD-ROM | disk | FTP | other *** search
- # struct netinfo {
- # struct sockaddr rip_dst; /* destination net/host */
- # int rip_metric; /* cost of route */
- # };
- # struct rip {
- # u_char rip_cmd; /* request/response */
- # u_char rip_vers; /* protocol version # */
- # u_char rip_res1[2]; /* pad to 32-bit boundary */
- # union {
- # struct netinfo ru_nets[1]; /* variable length... */
- # char ru_tracefile[1]; /* ditto ... */
- # } ripun;
- #define rip_nets ripun.ru_nets
- #define rip_tracefile ripun.ru_tracefile
- #define RIPCMD_REQUEST 1 /* want info */
- #define RIPCMD_RESPONSE 2 /* responding to request */
- #define RIPCMD_TRACEON 3 /* turn tracing on */
- #define RIPCMD_TRACEOFF 4 /* turn it off */
- #define HOPCNT_INFINITY 16 /* per Xerox NS */
- #define MAXPACKETSIZE 512 /* max broadcast size */
-
- ### RIP packet redux
- ### UDP send FROM clued-rtr/520 to target/520
- 2 # RIPCMD_RESPONSE
- 1 # version
- 0 # padding
- 0
-
- # sockaddr-plus-metric structs begin, as many as necessary...
- 0 # len
- 2 # AF_INET
- 0 # port
- 0
- # addr bytes:
- X
- Y
- Z
- Q
- 0 # filler, out to 16 bytes [sizeof (sockaddr)] ...
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0 # metric: net-order integer
- 0
- 0
- 1
-
- ## that's it
-