|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1985 The Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * This file includes significant work done at Cornell University by ! 6: * Bill Nesheim. That work included by permission. ! 7: * ! 8: * Redistribution and use in source and binary forms are permitted ! 9: * provided that: (1) source distributions retain this entire copyright ! 10: * notice and comment, and (2) distributions including binaries display ! 11: * the following acknowledgement: ``This product includes software ! 12: * developed by the University of California, Berkeley and its contributors'' ! 13: * in the documentation or other materials provided with the distribution ! 14: * and in all advertising materials mentioning features or use of this ! 15: * software. Neither the name of the University nor the names of its ! 16: * contributors may be used to endorse or promote products derived ! 17: * from this software without specific prior written permission. ! 18: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 19: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 20: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 21: * ! 22: * @(#)protocol.h 5.6 (Berkeley) 6/1/90 ! 23: */ ! 24: ! 25: /* ! 26: * Xerox Routing Information Protocol ! 27: * ! 28: */ ! 29: ! 30: struct netinfo { ! 31: union ns_net rip_dst; /* destination net */ ! 32: u_short rip_metric; /* cost of route */ ! 33: }; ! 34: ! 35: struct rip { ! 36: u_short rip_cmd; /* request/response */ ! 37: struct netinfo rip_nets[1]; /* variable length */ ! 38: }; ! 39: ! 40: /* ! 41: * Packet types. ! 42: */ ! 43: #define RIPCMD_REQUEST 1 /* want info */ ! 44: #define RIPCMD_RESPONSE 2 /* responding to request */ ! 45: ! 46: #define RIPCMD_MAX 3 ! 47: #ifdef RIPCMDS ! 48: char *ripcmds[RIPCMD_MAX] = ! 49: { "#0", "REQUEST", "RESPONSE" }; ! 50: #endif ! 51: ! 52: #define HOPCNT_INFINITY 16 /* per Xerox NS */ ! 53: #define DSTNETS_ALL 0xffffffff /* per Xerox NS */ ! 54: #define MAXPACKETSIZE 512 /* max broadcast size */ ! 55: ! 56: extern union ns_net ns_anynet; ! 57: extern union ns_net ns_zeronet; ! 58: ! 59: /* ! 60: * Timer values used in managing the routing table. ! 61: * Every update forces an entry's timer to be reset. After ! 62: * EXPIRE_TIME without updates, the entry is marked invalid, ! 63: * but held onto until GARBAGE_TIME so that others may ! 64: * see it "be deleted". ! 65: */ ! 66: #define TIMER_RATE 30 /* alarm clocks every 30 seconds */ ! 67: ! 68: #define SUPPLY_INTERVAL 30 /* time to supply tables */ ! 69: ! 70: #define EXPIRE_TIME 180 /* time to mark entry invalid */ ! 71: #define GARBAGE_TIME 240 /* time to garbage collect */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.