1*25202Skarels /**************************************************************************/
2*25202Skarels /*                                                                        */
3*25202Skarels /*    there seems to exist no standard for the contents of HMP traps      */
4*25202Skarels /*  RFC 869 simply says that it should "usually contain an identifier,..  */
5*25202Skarels /*  the local time..., and data pertinent to the event."                  */
6*25202Skarels /*                                                                        */
7*25202Skarels /* Being unwilling to create a defacto (non)standard, since I am not a    */
8*25202Skarels /* montoring wizard, I mostly punted.  There is a trap routine which will */
9*25202Skarels /* send message with the structure below at the start of the data section,*/
10*25202Skarels /* followed by whatever data you passed to it up to the size of one mbuf  */
11*25202Skarels /*                                                                        */
12*25202Skarels /* I've also included some trap codes -- which I believe are descended    */
13*25202Skarels /* from 4.1??   You will find them used in the code but commented out..   */
14*25202Skarels /*                                                                        */
15*25202Skarels /**************************************************************************/
16*25202Skarels 
17*25202Skarels #if HMP && HMPTRAPS
18*25202Skarels struct hmp_trap
19*25202Skarels {
20*25202Skarels     u_long ht_type;
21*25202Skarels     u_long ht_time;
22*25202Skarels };
23*25202Skarels 
24*25202Skarels /*
25*25202Skarels  * need more host information traps -- like if the machine is going down
26*25202Skarels  */
27*25202Skarels #define	T_MEM_DROP	0x0		/* packet drop due to memory */
28*25202Skarels 
29*25202Skarels #define	T_IP_CKSUM	0x10		/* IP checksum */
30*25202Skarels #define	T_IP_ADDRS	0x11		/* address error */
31*25202Skarels #define	T_IP_FDROP	0x12		/* fragment dropped (timeout) */
32*25202Skarels #define	T_IP_TRUNC	0x13		/* truncated packet */
33*25202Skarels #define	T_IP_OVFLO	0x14		/* header overflow */
34*25202Skarels #define	T_IP_HLEN	0x15		/* header length */
35*25202Skarels #define	T_MEM_FGLEAN	0x16		/* IP frag reclaimed for memory */
36*25202Skarels 
37*25202Skarels #define	T_TCP_CKSUM	0x20		/* TCP checksum */
38*25202Skarels #define	T_TCP_OVFLO	0x21		/* header overflow */
39*25202Skarels #define	T_TCP_HLEN	0x22		/* header length */
40*25202Skarels #define	T_TCP_REXMTTL	0x23		/* retransmit too long */
41*25202Skarels #define	T_TCP_DUP	0x24		/* duplicate drop */
42*25202Skarels #define	T_TCP_ORDER	0x25		/* out of order receipt */
43*25202Skarels #define	T_TCP_WINDOW	0x26		/* out of window receipt */
44*25202Skarels #define	T_TCP_RDROP	0x27		/* "" end of new segment */
45*25202Skarels #define	T_TCP_UDROP	0x28		/* data dropped from end of q */
46*25202Skarels #define	T_MEM_TGLEAN	0x29		/* TCP unacked segment "" */
47*25202Skarels 
48*25202Skarels #define	T_UDP_CKSUM	0x30		/* UDP checksum */
49*25202Skarels 
50*25202Skarels #define	T_ICMP_CKSUM	0x40		/* ICMP checksum */
51*25202Skarels #define	T_ICMP_SRCQ	0x41		/* source quench rcvd */
52*25202Skarels #define	T_ICMP_REDIR	0x42		/* redirect rcvd */
53*25202Skarels #define	T_ICMP_TIMEX	0x43		/* time exceeded */
54*25202Skarels #define	T_ICMP_PARM	0x44		/* parameter problem */
55*25202Skarels 
56*25202Skarels #define	T_HMP_CKSUM	0x50		/* HMP checksum */
57*25202Skarels #define	T_HMP_STYPE	0x51		/* wrong system type */
58*25202Skarels #define	T_HMP_MTYPE	0x52		/* bad message type */
59*25202Skarels #define	T_HMP_PASSWD	0x53		/* bad password */
60*25202Skarels 
61*25202Skarels #endif
62