kvm tools: Introduce struct uip_dhcp

struct uip_dhcp is used to present DHCP package

Signed-off-by: Asias He <asias.hejun@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
Asias He
2015-06-01 16:39:46 +01:00
committed by Will Deacon
parent d9da915bb5
commit b4db808201
+27
View File
@@ -29,6 +29,12 @@
#define UIP_TCP_FLAG_ACK 16
#define UIP_TCP_FLAG_URG 32
#define UIP_DHCP_VENDOR_SPECIFIC_LEN 312
#define UIP_DHCP_MACPAD_LEN 10
#define UIP_DHCP_HOSTNAME_LEN 64
#define UIP_DHCP_FILENAME_LEN 128
#define UIP_DHCP_MAGIC_COOKIE_LEN 4
#define UIP_DHCP_OPTION_LEN (UIP_DHCP_VENDOR_SPECIFIC_LEN - UIP_DHCP_MAGIC_COOKIE_LEN)
/*
* IP package maxium len == 64 KBytes
* IP header == 20 Bytes
@@ -126,6 +132,27 @@ struct uip_pseudo_hdr {
u16 len;
} __attribute__((packed));
struct uip_dhcp {
struct uip_udp udp;
u8 msg_type;
u8 hardware_type;
u8 hardware_len;
u8 hops;
u32 id;
u16 time;
u16 flg;
u32 client_ip;
u32 your_ip;
u32 server_ip;
u32 agent_ip;
struct uip_eth_addr client_mac;
u8 pad[UIP_DHCP_MACPAD_LEN];
u8 server_hostname[UIP_DHCP_HOSTNAME_LEN];
u8 boot_filename[UIP_DHCP_FILENAME_LEN];
u32 magic_cookie;
u8 option[UIP_DHCP_OPTION_LEN];
} __attribute__((packed));
struct uip_info {
struct list_head udp_socket_head;
struct list_head tcp_socket_head;