first listing, remove CHAOS and mpxip
[unix-history] / usr / src / sys / netinet / in_systm.h
/* in_systm.h 4.1 81/11/08 */
/*
* Miscellaneous internetwork
* definitions for kernel.
*/
/* THESE SHOULD BE ELIMINATED */
#define NCON 20 /* SHOULD BE DYNAMIC, NO LIMIT */
#define NHOST 20 /* SHOULD BE SOME DYNAMIC LIMIT */
/* END SHOULD BE ELIMINATED */
/*
* Network types.
*
* Internally the system keeps counters in the headers with the bytes
* swapped so that VAX instructions will work on them. It reverses
* the bytes before transmission at each protocol level. The n_ types
* represent the types with the bytes in ``high-ender'' order.
*/
typedef u_short n_short; /* short as received from the net */
typedef u_long n_long; /* long as received from the net */
typedef u_long seq_t; /* sequence number */
typedef u_long n_time; /* ms since 00:00 GMT, byte rev */
/*
* The network runs as a software interrupt process.
* You can switch into the network by doing splnet() and return by splx().
* The software interrupt level for the network is higher than the software
* level for the clock (so you can enter the network in routines called
* at timeout time). Splimp is an ipl high enough to block all imps.
* While manipulating the mbuf buffer pool you have to block imps since
* allocation occurs at interrupt level. (It would be easier to
* use interlocked instructions, but we don't do this yet.)
*/
#define splimp spl5
#define setsoftnet() mtpr(SIRR, 12)
/* splnet is defined in ../sys/asm.sed */
/*
* Network statistics record.
*
* SHOULD BE KEPT PER INTERFACE, AND WITH CNT, RATE, SUM.
*/
struct net_stat {
int imp_resets; /* # times imp reset */
int imp_flushes; /* # packets flushed by imp */
int imp_drops; /* # msgs from imp no-one wants */
int m_drops; /* # mbuf drops from lack of bufs */
int ip_badsum; /* # bad ip checksums */
int t_badsum; /* # bad tcp checksums */
int t_badsegs; /* # bad tcp segments */
int t_unack; /* # tcp segs placed on rcv_unack */
};
#ifdef KERNEL
int nnetpages;
extern struct net_stat netstat; /* net statistics block */
#endif
#ifdef KPROF
#include "../inet/count.h"
#define COUNT(i) nrcount[i]++
int nrcount[NCOUNTERS+1];
#else
#define COUNT(i)
#endif