/* @(#) $Header: /tcpdump/master/tcpdump/bootp.h,v 1.15.4.3 2007/08/21 22:02:08 guy Exp $ (LBL) */
/*
 * Bootstrap Protocol (BOOTP).  RFC951 and RFC1048.
 *
 * This file specifies the "implementation-independent" BOOTP protocol
 * information which is common to both client and server.
 *
 * Copyright 1988 by Carnegie Mellon.
 *
 * Permission to use, copy, modify, and distribute this program for any
 * purpose and without fee is hereby granted, provided that this copyright
 * and permission notice appear on all copies and supporting documentation,
 * the name of Carnegie Mellon not be used in advertising or publicity
 * pertaining to distribution of the program without specific prior
 * permission, and notice be given in supporting documentation that copying
 * and distribution is by permission of Carnegie Mellon and Stanford
 * University.  Carnegie Mellon makes no representations about the
 * suitability of this software for any purpose.  It is provided "as is"
 * without express or implied warranty.
 */


struct bootp {
	u_int8_t	bp_op;		/* packet opcode type */
	u_int8_t	bp_htype;	/* hardware addr type */
	u_int8_t	bp_hlen;	/* hardware addr length */
	u_int8_t	bp_hops;	/* gateway hops */
	u_int32_t	bp_xid;		/* transaction ID */
	u_int16_t	bp_secs;	/* seconds since boot began */
	u_int16_t	bp_flags;	/* flags - see bootp_flag_values[] in print-bootp.c */
	struct in_addr	bp_ciaddr;	/* client IP address */
	struct in_addr	bp_yiaddr;	/* 'your' IP address */
	struct in_addr	bp_siaddr;	/* server IP address */
	struct in_addr	bp_giaddr;	/* gateway IP address */
	u_int8_t	bp_chaddr[16];	/* client hardware address */
	u_int8_t	bp_sname[64];	/* server host name */
	u_int8_t	bp_file[128];	/* boot file name */
	u_int8_t	bp_vend[64];	/* vendor-specific area */
};

/*
 * UDP port numbers, server and client.
 */
#define	IPPORT_BOOTPS		67
#define	IPPORT_BOOTPC		68

#define BOOTPREPLY		2
#define BOOTPREQUEST		1

/*
 * Vendor magic cookie (v_magic) for CMU
 */
#define VM_CMU		"CMU"

/*
 * Vendor magic cookie (v_magic) for RFC1048
 */
#define VM_RFC1048	{ 99, 130, 83, 99 }



/*
 * RFC1048 tag values used to specify what information is being supplied in
 * the vendor field of the packet.
 */

#define TAG_PAD			((u_int8_t)   0)
#define TAG_SUBNET_MASK		((u_int8_t)   1)
#define TAG_TIME_OFFSET		((u_int8_t)   2)
#define TAG_GATEWAY		((u_int8_t)   3)
#define TAG_TIME_SERVER		((u_int8_t)   4)
#define TAG_NAME_SERVER		((u_int8_t)   5)
#define TAG_DOMAIN_SERVER	((u_int8_t)   6)
#define TAG_LOG_SERVER		((u_int8_t)   7)
#define TAG_COOKIE_SERVER	((u_int8_t)   8)
#define TAG_LPR_SERVER		((u_int8_t)   9)
#define TAG_IMPRESS_SERVER	((u_int8_t)  10)
#define TAG_RLP_SERVER		((u_int8_t)  11)
#define TAG_HOSTNAME		((u_int8_t)  12)
#define TAG_BOOTSIZE		((u_int8_t)  13)
#define TAG_END			((u_int8_t) 255)
/* RFC1497 tags */
#define	TAG_DUMPPATH		((u_int8_t)  14)
#define	TAG_DOMAINNAME		((u_int8_t)  15)
#define	TAG_SWAP_SERVER		((u_int8_t)  16)
#define	TAG_ROOTPATH		((u_int8_t)  17)
#define	TAG_EXTPATH		((u_int8_t)  18)
/* RFC2132 */
#define	TAG_IP_FORWARD		((u_int8_t)  19)
#define	TAG_NL_SRCRT		((u_int8_t)  20)
#define	TAG_PFILTERS		((u_int8_t)  21)
#define	TAG_REASS_SIZE		((u_int8_t)  22)
#define	TAG_DEF_TTL		((u_int8_t)  23)
#define	TAG_MTU_TIMEOUT		((u_int8_t)  24)
#define	TAG_MTU_TABLE		((u_int8_t)  25)
#define	TAG_INT_MTU		((u_int8_t)  26)
#define	TAG_LOCAL_SUBNETS	((u_int8_t)  27)
#define	TAG_BROAD_ADDR		((u_int8_t)  28)
#define	TAG_DO_MASK_DISC	((u_int8_t)  29)
#define	TAG_SUPPLY_MASK		((u_int8_t)  30)
#define	TAG_DO_RDISC		((u_int8_t)  31)
#define	TAG_RTR_SOL_ADDR	((u_int8_t)  32)
#define	TAG_STATIC_ROUTE	((u_int8_t)  33)
#define	TAG_USE_TRAILERS	((u_int8_t)  34)
#define	TAG_ARP_TIMEOUT		((u_int8_t)  35)
#define	TAG_ETH_ENCAP		((u_int8_t)  36)
#define	TAG_TCP_TTL		((u_int8_t)  37)
#define	TAG_TCP_KEEPALIVE	((u_int8_t)  38)
#define	TAG_KEEPALIVE_GO	((u_int8_t)  39)
#define	TAG_NIS_DOMAIN		((u_int8_t)  40)
#define	TAG_NIS_SERVERS		((u_int8_t)  41)
#define	TAG_NTP_SERVERS		((u_int8_t)  42)
#define	TAG_VENDOR_OPTS		((u_int8_t)  43)
#define	TAG_NETBIOS_NS		((u_int8_t)  44)
#define	TAG_NETBIOS_DDS		((u_int8_t)  45)
#define	TAG_NETBIOS_NODE	((u_int8_t)  46)
#define	TAG_NETBIOS_SCOPE	((u_int8_t)  47)
#define	TAG_XWIN_FS		((u_int8_t)  48)
#define	TAG_XWIN_DM		((u_int8_t)  49)
#define	TAG_NIS_P_DOMAIN	((u_int8_t)  64)
#define	TAG_NIS_P_SERVERS	((u_int8_t)  65)
#define	TAG_MOBILE_HOME		((u_int8_t)  68)
#define	TAG_SMPT_SERVER		((u_int8_t)  69)
#define	TAG_POP3_SERVER		((u_int8_t)  70)
#define	TAG_NNTP_SERVER		((u_int8_t)  71)
#define	TAG_WWW_SERVER		((u_int8_t)  72)
#define	TAG_FINGER_SERVER	((u_int8_t)  73)
#define	TAG_IRC_SERVER		((u_int8_t)  74)
#define	TAG_STREETTALK_SRVR	((u_int8_t)  75)
#define	TAG_STREETTALK_STDA	((u_int8_t)  76)
/* DHCP options */
#define	TAG_REQUESTED_IP	((u_int8_t)  50)
#define	TAG_IP_LEASE		((u_int8_t)  51)
#define	TAG_OPT_OVERLOAD	((u_int8_t)  52)
#define	TAG_TFTP_SERVER		((u_int8_t)  66)
#define	TAG_BOOTFILENAME	((u_int8_t)  67)
#define	TAG_DHCP_MESSAGE	((u_int8_t)  53)
#define	TAG_SERVER_ID		((u_int8_t)  54)
#define	TAG_PARM_REQUEST	((u_int8_t)  55)
#define	TAG_MESSAGE		((u_int8_t)  56)
#define	TAG_MAX_MSG_SIZE	((u_int8_t)  57)
#define	TAG_RENEWAL_TIME	((u_int8_t)  58)
#define	TAG_REBIND_TIME		((u_int8_t)  59)
#define	TAG_VENDOR_CLASS	((u_int8_t)  60)
#define	TAG_CLIENT_ID		((u_int8_t)  61)
/* RFC 2241 */
#define	TAG_NDS_SERVERS		((u_int8_t)  85)
#define	TAG_NDS_TREE_NAME	((u_int8_t)  86)
#define	TAG_NDS_CONTEXT		((u_int8_t)  87)
/* RFC 2242 */
#define	TAG_NDS_IPDOMAIN	((u_int8_t)  62)
#define	TAG_NDS_IPINFO		((u_int8_t)  63)
/* RFC 2485 */
#define	TAG_OPEN_GROUP_UAP	((u_int8_t)  98)
/* RFC 2563 */
#define	TAG_DISABLE_AUTOCONF	((u_int8_t) 116)
/* RFC 2610 */
#define	TAG_SLP_DA		((u_int8_t)  78)
#define	TAG_SLP_SCOPE		((u_int8_t)  79)
/* RFC 2937 */
#define	TAG_NS_SEARCH		((u_int8_t) 117)
/* RFC 3011 */
#define	TAG_IP4_SUBNET_SELECT	((u_int8_t) 118)
/* RFC 3442 */
#define TAG_CLASSLESS_STATIC_RT	((u_int8_t) 121)
#define TAG_CLASSLESS_STA_RT_MS	((u_int8_t) 249)
/* ftp://ftp.isi.edu/.../assignments/bootp-dhcp-extensions */
#define	TAG_USER_CLASS		((u_int8_t)  77)
#define	TAG_SLP_NAMING_AUTH	((u_int8_t)  80)
#define	TAG_CLIENT_FQDN		((u_int8_t)  81)
#define	TAG_AGENT_CIRCUIT	((u_int8_t)  82)
#define	TAG_AGENT_REMOTE	((u_int8_t)  83)
#define	TAG_AGENT_MASK		((u_int8_t)  84)
#define	TAG_TZ_STRING		((u_int8_t)  88)
#define	TAG_FQDN_OPTION		((u_int8_t)  89)
#define	TAG_AUTH		((u_int8_t)  90)
#define	TAG_VINES_SERVERS	((u_int8_t)  91)
#define	TAG_SERVER_RANK		((u_int8_t)  92)
#define	TAG_CLIENT_ARCH		((u_int8_t)  93)
#define	TAG_CLIENT_NDI		((u_int8_t)  94)
#define	TAG_CLIENT_GUID		((u_int8_t)  97)
#define	TAG_LDAP_URL		((u_int8_t)  95)
#define	TAG_6OVER4		((u_int8_t)  96)
#define	TAG_PRINTER_NAME	((u_int8_t) 100)
#define	TAG_MDHCP_SERVER	((u_int8_t) 101)
#define	TAG_IPX_COMPAT		((u_int8_t) 110)
#define	TAG_NETINFO_PARENT	((u_int8_t) 112)
#define	TAG_NETINFO_PARENT_TAG	((u_int8_t) 113)
#define	TAG_URL			((u_int8_t) 114)
#define	TAG_FAILOVER		((u_int8_t) 115)
#define	TAG_EXTENDED_REQUEST	((u_int8_t) 126)
#define	TAG_EXTENDED_OPTION	((u_int8_t) 127)


/* DHCP Message types (values for TAG_DHCP_MESSAGE option) */
#define		DHCPDISCOVER	1
#define		DHCPOFFER	2
#define		DHCPREQUEST	3
#define		DHCPDECLINE	4
#define		DHCPACK		5
#define		DHCPNAK		6
#define		DHCPRELEASE	7
#define		DHCPINFORM	8


/*
 * "vendor" data permitted for CMU bootp clients.
 */

struct cmu_vend {
	u_int8_t	v_magic[4];	/* magic number */
	u_int32_t	v_flags;	/* flags/opcodes, etc. */
	struct in_addr	v_smask;	/* Subnet mask */
	struct in_addr	v_dgate;	/* Default gateway */
	struct in_addr	v_dns1, v_dns2; /* Domain name servers */
	struct in_addr	v_ins1, v_ins2; /* IEN-116 name servers */
	struct in_addr	v_ts1, v_ts2;	/* Time servers */
	u_int8_t	v_unused[24];	/* currently unused */
};


/* v_flags values */
#define VF_SMASK	1	/* Subnet mask field contains valid data */

/* RFC 4702 DHCP Client FQDN Option */

#define CLIENT_FQDN_FLAGS_S	0x01
#define CLIENT_FQDN_FLAGS_O	0x02
#define CLIENT_FQDN_FLAGS_E	0x04
#define CLIENT_FQDN_FLAGS_N	0x08
