ospf_pkt.h,v

来自「TCP-IP红宝书源代码」· H,V 代码 · 共 115 行

H,V
115
字号
head	1.3;
access;
symbols;
locks
	dls:1.3; strict;
comment	@ * @;


1.3
date	97.09.21.19.26.19;	author dls;	state Dist;
branches;
next	1.2;

1.2
date	94.05.10.20.48.46;	author dls;	state Old;
branches;
next	1.1;

1.1
date	94.02.13.19.40.01;	author dls;	state Works;
branches;
next	;


desc
@@


1.3
log
@pre-3e code
@
text
@/* ospf_pkt.h */

/* OSPF packet format */

struct ospf {
	unsigned char	ospf_version;	/* Version Number		*/
	unsigned char	ospf_type;	/* Packet Type			*/
	unsigned short	ospf_len;	/* Packet Length		*/
	unsigned long	ospf_rid;	/* Router Identifier		*/
	unsigned long	ospf_aid;	/* Area Identifier		*/
	unsigned short	ospf_cksum;	/* Check Sum			*/
	unsigned short	ospf_authtype;	/* Authentication Type		*/
	unsigned char	ospf_auth[AUTHLEN]; /* Authentication Field	*/
	unsigned char	ospf_data[1];
};

#define	MINHDRLEN	24		/* OSPF base header length	*/

/* OSPF Packet Types */

#define	T_HELLO		1		/* Hello packet			*/
#define	T_DATADESC	2		/* Database Description		*/
#define	T_LSREQ		3		/* Link State Request		*/
#define	T_LSUPDATE	4		/* Link State Update		*/
#define	T_LSACK		5		/* Link State Acknowledgement	*/

/* OSPF Authentication Types */

#define	AU_NONE		0		/* No Authentication		*/
#define	AU_PASSWD	1		/* Simple Password		*/

/* OSPF Hello Packet */

struct	ospf_hello {
	unsigned long	oh_netmask;	/* Network Mask			*/
	unsigned short	oh_hintv;	/* Hello Interval (seconds)	*/
	unsigned char	oh_opts;	/* Options			*/
	unsigned char	oh_prio;	/* Sender's Router Priority	*/
	unsigned long	oh_rdintv;	/* Seconds Before Declare Dead	*/
	unsigned long	oh_drid;	/* Designated Router ID		*/
	unsigned long	oh_brid;	/* Backup Designated Router ID	*/
	unsigned long	oh_neighbor[1];	/* Living Neighbors		*/
};

#define	MINHELLOLEN	(MINHDRLEN + 20)

/* OSPF Database Description Packet */

struct	ospf_dd {
	unsigned short	dd_mbz;		/* Must Be Zero			*/
	unsigned char	dd_opts;	/* Options			*/
	unsigned char	dd_control;	/* Control Bits	(DDC_* below)	*/
	unsigned long	dd_seq;		/* Sequence Number		*/
	struct ospf_lss	dd_lss[1];	/* Link State Advertisements	*/
};

#define	MINDDLEN	(MINHDRLEN + 8)

#define	DDC_INIT	0x04		/* Initial Sequence		*/
#define	DDC_MORE	0x02		/* More to follow		*/
#define	DDC_MSTR	0x01		/* This Router is Master	*/
@


1.2
log
@*** empty log message ***
@
text
@@


1.1
log
@Initial revision
@
text
@d54 1
a54 1
	struct ospf_lsa	dd_lsa[1];	/* Link State Advertisements	*/
@

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?