X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdhcp%2Fdhcp.api;h=30ead3200893b21593e8b1bf32589b0961f1125c;hb=daff1784037376f4a5caec2f5975f9b5fc23d5a4;hp=975aa6ee9e743a8434063c08e84e0dad281188ae;hpb=0e969ac8431c80ff4bca5f6985876b1c584eefcd;p=vpp.git diff --git a/src/vnet/dhcp/dhcp.api b/src/vnet/dhcp/dhcp.api index 975aa6ee9e7..30ead320089 100644 --- a/src/vnet/dhcp/dhcp.api +++ b/src/vnet/dhcp/dhcp.api @@ -13,7 +13,7 @@ * limitations under the License. */ -option version = "1.0.1"; +option version = "2.0.0"; /** \brief DHCP Proxy config add / del request @param client_index - opaque cookie to identify the sender @@ -62,45 +62,53 @@ autoreply define dhcp_proxy_set_vss u8 is_add; }; -/** \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 +/** \brief DHCP Client config data @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 id - Client ID - option 61 @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 */ -autoreply define dhcp_client_config +typeonly define dhcp_client { - u32 client_index; - u32 context; u32 sw_if_index; u8 hostname[64]; - u8 client_id[64]; - u8 is_add; + u8 id[64]; u8 want_dhcp_event; u8 set_broadcast_flag; u32 pid; }; -/** \brief Tell client about a DHCP completion event +/** \brief DHCP Client config add / del request @param client_index - opaque cookie to identify the sender - @param pid - client pid registered to receive notification + @param context - sender context, to match reply w/ request + @param is_add - add the config if non-zero, else delete + @param client - client configuration data +*/ +autoreply define dhcp_client_config +{ + u32 client_index; + u32 context; + u8 is_add; + vl_api_dhcp_client_t client; +}; + +/** \brief Data learned by the client during the DHCP process + @param sw_if_index - the interface on which the client is configured + @param state - the state of the lease (see dhcp_client_state_t) @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 */ -define dhcp_compl_event +typeonly define dhcp_lease { - u32 client_index; - u32 pid; + u32 sw_if_index; + u8 state; u8 hostname[64]; u8 is_ipv6; u8 mask_width; @@ -109,10 +117,41 @@ define dhcp_compl_event u8 host_mac[6]; }; +/** \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 lease - Data learned during the DHCP process; +*/ +define dhcp_compl_event +{ + u32 client_index; + u32 pid; + vl_api_dhcp_lease_t lease; +}; + service { rpc dhcp_client_config returns dhcp_client_config_reply events dhcp_compl_event; }; +/** \brief Dump the DHCP client configurations + */ +define dhcp_client_dump +{ + u32 client_index; + u32 context; +}; + +/** \brief DHCP Client details returned from dump + * @param client - The configured client + * @param lease - The learned lease data + */ +define dhcp_client_details +{ + u32 context; + vl_api_dhcp_client_t client; + vl_api_dhcp_lease_t lease; +}; + /** \brief Dump DHCP proxy table @param client_index - opaque cookie to identify the sender @param True for IPv6 proxy table