1 #ifndef included_vnet_dhcp6_packet_h 2 #define included_vnet_dhcp6_packet_h 24 #define DHCP_MAX_RELAY_ADDR 16 26 #define DHCPV6_CLIENT_PORT 546 27 #define DHCPV6_SERVER_PORT 547 28 #define HOP_COUNT_LIMIT 32 29 #define DHCPV6_CISCO_ENT_NUM 9 52 #define dhcpv6_foreach_option \ 53 _(CLIENTID , 1 , 4 ) \ 54 _(SERVERID , 2 , 4 ) \ 59 _(PREFERENCE , 7 , 1 ) \ 60 _(ELAPSED_TIME , 8 , 2 ) \ 61 _(RELAY_MSG , 9 , 0 ) \ 63 _(UNICAST , 12 , 16) \ 64 _(STATUS_CODE , 13 , 2 ) \ 65 _(RAPID_COMMIT , 14 , 0 ) \ 66 _(USER_CLASS , 15 , 0 ) \ 67 _(VENDOR_CLASS , 16 , 4 ) \ 68 _(VENDOR_OPTS , 17 , 4 ) \ 69 _(INTERFACE_ID , 18 , 0 ) \ 70 _(RECONF_MSG , 19 , 1 ) \ 71 _(RECONF_ACCEPT , 20 , 0 ) \ 72 _(DNS_SEARCH , 24 , 0 ) \ 74 _(IAPREFIX , 26 , 25) \ 75 _(REMOTEID , 37 , 4 ) \ 77 _(CLIENT_LINK_LAYER_ADDRESS, 79 , 2 ) 84 #define _(a,b,c) DHCPV6_OPTION_##a = b, 132 }) dhcpv6_relay_ctx_t;
143 }) dhcpv6_relay_hdr_t;
172 #define dhcpv6_optlen(opt) clib_net_to_host_u16((opt)->length) 186 }) dhcpv6_status_code_t;
217 }) dhcpv6_client_mac_t;
222 dhcpv6_option_t opt;
u32 iaid;
u32 t1;
225 }) dhcpv6_ia_header_t;
231 }) dhcpv6_ia_opt_pd_t;
237 }) dhcpv6_ia_opt_addr_t;
247 dhcpv6_option_t opt;
u16 elapsed_10ms;
252 dhcpv6_option_t opt;
u16 duid_type;
258 dhcpv6_option_t opt;
u16 status_code;
#define dhcpv6_foreach_option
enum dhcp_stats_action_type_ dhcp_stats_action_type_t
typedef CLIB_PACKED(struct dhcpv6_relay_ctx_ { dhcpv6_header_t *pkt;u32 pkt_len;u32 dhcpv6_len;u32 if_index;u32 ctx_id;char ctx_name[32+1];u8 dhcp_msg_type;}) dhcpv6_relay_ctx_t
struct dhcpv6_hdr_ dhcpv6_header_t
enum dhcpv6_msg_type_ dhcpv6_msg_type_t
dhcpv6_stats_drop_reason_
enum dhcpv6_stats_drop_reason_ dhcpv6_stats_drop_reason_t
struct dhcp_stats_counters_ dhcp_stats_counters_t