X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdhcp%2Fdhcp4_packet.h;h=3076dd9529dafc67a235d5bbd0008866426d4aa1;hb=ad9d528;hp=133a1e135aa989bb5905616694a18e889fddbc25;hpb=34719e37bf820e8398ca9159725f7f4c42764aeb;p=vpp.git diff --git a/src/vnet/dhcp/dhcp4_packet.h b/src/vnet/dhcp/dhcp4_packet.h index 133a1e135aa..3076dd9529d 100644 --- a/src/vnet/dhcp/dhcp4_packet.h +++ b/src/vnet/dhcp/dhcp4_packet.h @@ -19,6 +19,17 @@ */ #include +typedef struct +{ + u8 option; + u8 length; + union + { + u8 data[0]; + u32 data_as_u32[0]; + }; +} __attribute__ ((packed)) dhcp_option_t; + typedef struct { u8 opcode; /* 1 = request, 2 = reply */ @@ -37,31 +48,22 @@ typedef struct u8 server_name[64]; u8 boot_filename[128]; ip4_address_t magic_cookie; - u8 options[0]; + dhcp_option_t options[0]; } dhcp_header_t; -typedef struct -{ - u8 option; - u8 length; - union - { - u8 data[0]; - u32 data_as_u32[0]; - }; -} __attribute__ ((packed)) dhcp_option_t; - typedef enum { DHCP_PACKET_DISCOVER = 1, DHCP_PACKET_OFFER, DHCP_PACKET_REQUEST, DHCP_PACKET_ACK = 5, + DHCP_PACKET_NAK, } dhcp_packet_type_t; typedef enum dhcp_packet_option_t_ { DHCP_PACKET_OPTION_MSG_TYPE = 53, + DHCP_PACKET_OPTION_END = 0xff, } dhcp_packet_option_t; /* charming antique: 99.130.83.99 is the dhcp magic cookie */