X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdhcp%2Fdhcp.api;h=721a1be35475b928ad03a2fa146c4c6602cbed12;hb=54c6dc450031443663d40b836a8b0bffdcc2bdea;hp=c228cd04716abd7ba4b5a8ae4f4752b8669040cc;hpb=c8d8770a3e09c300eeff461a11ef3723b8e029cb;p=vpp.git diff --git a/src/vnet/dhcp/dhcp.api b/src/vnet/dhcp/dhcp.api index c228cd04716..721a1be3547 100644 --- a/src/vnet/dhcp/dhcp.api +++ b/src/vnet/dhcp/dhcp.api @@ -13,42 +13,12 @@ * limitations under the License. */ -/** \brief DHCP Proxy config add / del request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param vrf_id - vrf id - @param if_ipv6 - ipv6 if non-zero, else ipv4 - @param is_add - add the config if non-zero, else delete - @param insert_circuit_id - option82 suboption 1 fib number - @param dhcp_server[] - server address - @param dhcp_src_address[] - -*/ -define dhcp_proxy_config -{ - u32 client_index; - u32 context; - u32 vrf_id; - u8 is_ipv6; - u8 is_add; - u8 insert_circuit_id; - u8 dhcp_server[16]; - u8 dhcp_src_address[16]; -}; +option version = "1.0.1"; -/** \brief DHCP Proxy config response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define dhcp_proxy_config_reply -{ - u32 context; - i32 retval; -}; - -/** \brief DHCP Proxy config 2 add / del request +/** \brief DHCP Proxy config add / del request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request - @param rx_vrf_id - receive vrf id + @param rx_vrf_id - Rx/interface vrf id @param server_vrf_id - server vrf id @param if_ipv6 - ipv6 if non-zero, else ipv4 @param is_add - add the config if non-zero, else delete @@ -56,7 +26,7 @@ define dhcp_proxy_config_reply @param dhcp_server[] - server address @param dhcp_src_address[] - */ -define dhcp_proxy_config_2 +autoreply define dhcp_proxy_config { u32 client_index; u32 context; @@ -64,86 +34,65 @@ define dhcp_proxy_config_2 u32 server_vrf_id; u8 is_ipv6; u8 is_add; - u8 insert_circuit_id; u8 dhcp_server[16]; u8 dhcp_src_address[16]; }; -/** \brief DHCP Proxy config 2 add / del response - @param context - sender context, to match reply w/ request - @param retval - return code for request -*/ -define dhcp_proxy_config_2_reply -{ - u32 context; - i32 retval; -}; - /** \brief DHCP Proxy set / unset vss request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param tbl_id - table id - @param oui - first part of vpn id - @param fib_id - second part of vpn id + @vss_type - 0: use ASCI vpn_id; 1: use oui/vpn_index; 255: global vpn + @vpn_ascii - null terminated ASCII VPN ID up to 128 characters + @param oui - first part of rfc2685 vpn id, 3 bytes oui + @param vpn_index - second part of rfc2685 vpn id, 4 bytes vpn index @param is_ipv6 - ip6 if non-zero, else ip4 @param is_add - set vss if non-zero, else delete */ -define dhcp_proxy_set_vss +autoreply define dhcp_proxy_set_vss { u32 client_index; u32 context; u32 tbl_id; + u8 vss_type; + u8 vpn_ascii_id[129]; u32 oui; - u32 fib_id; + u32 vpn_index; u8 is_ipv6; u8 is_add; }; -/** \brief DHCP proxy set / unset vss response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define dhcp_proxy_set_vss_reply -{ - u32 context; - i32 retval; -}; - /** \brief DHCP Client config add / del request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - index of the interface for DHCP client @param hostname - hostname + @param client_id - Client ID - option 61 @param is_add - add the config if non-zero, else delete @param want_dhcp_event - DHCP event sent to the sender via dhcp_compl_event API message if non-zero + @param set_broadcast_flag - in the DHCP Discover to control + how the resulting OFFER is addressed. @param pid - sender's pid */ -define dhcp_client_config +autoreply define dhcp_client_config { u32 client_index; u32 context; u32 sw_if_index; u8 hostname[64]; + u8 client_id[64]; u8 is_add; u8 want_dhcp_event; + u8 set_broadcast_flag; u32 pid; }; -/** \brief DHCP Client config response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define dhcp_client_config_reply -{ - u32 context; - i32 retval; -}; - /** \brief Tell client about a DHCP completion event @param client_index - opaque cookie to identify the sender @param pid - client pid registered to receive notification @param is_ipv6 - if non-zero the address is ipv6, else ipv4 + @param mask_width - The length of the subnet mask assigned @param host_address - Host IP address @param router_address - Router IP address @param host_mac - Host MAC address @@ -154,13 +103,48 @@ define dhcp_compl_event u32 pid; u8 hostname[64]; u8 is_ipv6; + u8 mask_width; u8 host_address[16]; u8 router_address[16]; u8 host_mac[6]; }; +/** \brief Dump DHCP proxy table + @param client_index - opaque cookie to identify the sender + @param True for IPv6 proxy table +*/ +define dhcp_proxy_dump +{ + u32 client_index; + u32 context; + u8 is_ip6; +}; + +typeonly manual_print manual_endian define dhcp_server +{ + u32 server_vrf_id; + u8 dhcp_server[16]; +}; + +/** \brief Tell client about a DHCP completion event + @param client_index - opaque cookie to identify the sender +*/ +manual_endian manual_print define dhcp_proxy_details +{ + u32 context; + u32 rx_vrf_id; + u32 vss_oui; + u32 vss_fib_id; + u8 vss_type; + u8 vss_vpn_ascii_id[129]; + u8 is_ipv6; + u8 dhcp_src_address[16]; + u8 count; + vl_api_dhcp_server_t servers[count]; +}; + /* * Local Variables: * eval: (c-set-style "gnu") * End: - */ \ No newline at end of file + */