mirror of
				https://git.proxmox.com/git/qemu
				synced 2025-10-31 14:49:14 +00:00 
			
		
		
		
	 460fec67ee
			
		
	
	
		460fec67ee
		
	
	
	
	
		
			
			The essence of this patch is to stuff (almost) all global variables of the slirp stack into the structure Slirp. In this step, we still keep the structure as global variable, directly accessible by the whole stack. Changes to the external interface of slirp will be applied in the following patches. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
		
			
				
	
	
		
			123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* bootp/dhcp defines */
 | |
| 
 | |
| #define BOOTP_SERVER	67
 | |
| #define BOOTP_CLIENT	68
 | |
| 
 | |
| #define BOOTP_REQUEST	1
 | |
| #define BOOTP_REPLY	2
 | |
| 
 | |
| #define RFC1533_COOKIE		99, 130, 83, 99
 | |
| #define RFC1533_PAD		0
 | |
| #define RFC1533_NETMASK		1
 | |
| #define RFC1533_TIMEOFFSET	2
 | |
| #define RFC1533_GATEWAY		3
 | |
| #define RFC1533_TIMESERVER	4
 | |
| #define RFC1533_IEN116NS	5
 | |
| #define RFC1533_DNS		6
 | |
| #define RFC1533_LOGSERVER	7
 | |
| #define RFC1533_COOKIESERVER	8
 | |
| #define RFC1533_LPRSERVER	9
 | |
| #define RFC1533_IMPRESSSERVER	10
 | |
| #define RFC1533_RESOURCESERVER	11
 | |
| #define RFC1533_HOSTNAME	12
 | |
| #define RFC1533_BOOTFILESIZE	13
 | |
| #define RFC1533_MERITDUMPFILE	14
 | |
| #define RFC1533_DOMAINNAME	15
 | |
| #define RFC1533_SWAPSERVER	16
 | |
| #define RFC1533_ROOTPATH	17
 | |
| #define RFC1533_EXTENSIONPATH	18
 | |
| #define RFC1533_IPFORWARDING	19
 | |
| #define RFC1533_IPSOURCEROUTING	20
 | |
| #define RFC1533_IPPOLICYFILTER	21
 | |
| #define RFC1533_IPMAXREASSEMBLY	22
 | |
| #define RFC1533_IPTTL		23
 | |
| #define RFC1533_IPMTU		24
 | |
| #define RFC1533_IPMTUPLATEAU	25
 | |
| #define RFC1533_INTMTU		26
 | |
| #define RFC1533_INTLOCALSUBNETS	27
 | |
| #define RFC1533_INTBROADCAST	28
 | |
| #define RFC1533_INTICMPDISCOVER	29
 | |
| #define RFC1533_INTICMPRESPOND	30
 | |
| #define RFC1533_INTROUTEDISCOVER 31
 | |
| #define RFC1533_INTROUTESOLICIT	32
 | |
| #define RFC1533_INTSTATICROUTES	33
 | |
| #define RFC1533_LLTRAILERENCAP	34
 | |
| #define RFC1533_LLARPCACHETMO	35
 | |
| #define RFC1533_LLETHERNETENCAP	36
 | |
| #define RFC1533_TCPTTL		37
 | |
| #define RFC1533_TCPKEEPALIVETMO	38
 | |
| #define RFC1533_TCPKEEPALIVEGB	39
 | |
| #define RFC1533_NISDOMAIN	40
 | |
| #define RFC1533_NISSERVER	41
 | |
| #define RFC1533_NTPSERVER	42
 | |
| #define RFC1533_VENDOR		43
 | |
| #define RFC1533_NBNS		44
 | |
| #define RFC1533_NBDD		45
 | |
| #define RFC1533_NBNT		46
 | |
| #define RFC1533_NBSCOPE		47
 | |
| #define RFC1533_XFS		48
 | |
| #define RFC1533_XDM		49
 | |
| 
 | |
| #define RFC2132_REQ_ADDR	50
 | |
| #define RFC2132_LEASE_TIME      51
 | |
| #define RFC2132_MSG_TYPE	53
 | |
| #define RFC2132_SRV_ID		54
 | |
| #define RFC2132_PARAM_LIST	55
 | |
| #define RFC2132_MESSAGE		56
 | |
| #define RFC2132_MAX_SIZE	57
 | |
| #define RFC2132_RENEWAL_TIME    58
 | |
| #define RFC2132_REBIND_TIME     59
 | |
| 
 | |
| #define DHCPDISCOVER		1
 | |
| #define DHCPOFFER		2
 | |
| #define DHCPREQUEST		3
 | |
| #define DHCPACK			5
 | |
| #define DHCPNAK			6
 | |
| 
 | |
| #define RFC1533_VENDOR_MAJOR	0
 | |
| #define RFC1533_VENDOR_MINOR	0
 | |
| 
 | |
| #define RFC1533_VENDOR_MAGIC	128
 | |
| #define RFC1533_VENDOR_ADDPARM	129
 | |
| #define	RFC1533_VENDOR_ETHDEV	130
 | |
| #define RFC1533_VENDOR_HOWTO    132
 | |
| #define RFC1533_VENDOR_MNUOPTS	160
 | |
| #define RFC1533_VENDOR_SELECTION 176
 | |
| #define RFC1533_VENDOR_MOTD	184
 | |
| #define RFC1533_VENDOR_NUMOFMOTD 8
 | |
| #define RFC1533_VENDOR_IMG	192
 | |
| #define RFC1533_VENDOR_NUMOFIMG	16
 | |
| 
 | |
| #define RFC1533_END		255
 | |
| #define BOOTP_VENDOR_LEN	64
 | |
| #define DHCP_OPT_LEN		312
 | |
| 
 | |
| struct bootp_t {
 | |
|     struct ip ip;
 | |
|     struct udphdr udp;
 | |
|     uint8_t bp_op;
 | |
|     uint8_t bp_htype;
 | |
|     uint8_t bp_hlen;
 | |
|     uint8_t bp_hops;
 | |
|     uint32_t bp_xid;
 | |
|     uint16_t bp_secs;
 | |
|     uint16_t unused;
 | |
|     struct in_addr bp_ciaddr;
 | |
|     struct in_addr bp_yiaddr;
 | |
|     struct in_addr bp_siaddr;
 | |
|     struct in_addr bp_giaddr;
 | |
|     uint8_t bp_hwaddr[16];
 | |
|     uint8_t bp_sname[64];
 | |
|     uint8_t bp_file[128];
 | |
|     uint8_t bp_vend[DHCP_OPT_LEN];
 | |
| };
 | |
| 
 | |
| typedef struct {
 | |
|     uint16_t allocated;
 | |
|     uint8_t macaddr[6];
 | |
| } BOOTPClient;
 | |
| 
 | |
| #define NB_BOOTP_CLIENTS 16
 | |
| 
 | |
| void bootp_input(struct mbuf *m);
 |