diff options
author | Neale Ranns <nranns@cisco.com> | 2019-10-07 00:39:28 -0700 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2019-10-07 19:33:39 +0000 |
commit | 02bfd641b69aab83397e217b9ca4e35a6aab05c8 (patch) | |
tree | 665e232425f90d0662bc3d29729e11bb5e8727fc /src/vnet/dhcp/dhcp.api | |
parent | 2c41a61d5fc87737b9b46b88cb9271d0f987721e (diff) |
dhcp: Move to plugin
Type: feature
Change-Id: I3fe27a8ef577741d9a5c4f090ec91cf68fb44fe3
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/dhcp/dhcp.api')
-rw-r--r-- | src/vnet/dhcp/dhcp.api | 462 |
1 files changed, 0 insertions, 462 deletions
diff --git a/src/vnet/dhcp/dhcp.api b/src/vnet/dhcp/dhcp.api deleted file mode 100644 index f3fef5135f1..00000000000 --- a/src/vnet/dhcp/dhcp.api +++ /dev/null @@ -1,462 +0,0 @@ -/* - * Copyright (c) 2015-2016 Cisco and/or its affiliates. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -option version = "3.0.1"; - -import "vnet/interface_types.api"; -import "vnet/ip/ip_types.api"; -import "vnet/ethernet/ethernet_types.api"; - -enum vss_type { - VSS_TYPE_API_ASCII = 0, - VSS_TYPE_API_VPN_ID = 1, - VSS_TYPE_API_INVALID = 123, - VSS_TYPE_API_DEFAULT = 255, -}; - -enum dhcp_client_state { - DHCP_CLIENT_STATE_API_DISCOVER, - DHCP_CLIENT_STATE_API_REQUEST, - DHCP_CLIENT_STATE_API_BOUND, -}; - -enum dhcpv6_msg_type -{ - DHCPV6_MSG_API_SOLICIT = 1, - DHCPV6_MSG_API_ADVERTISE = 2, - DHCPV6_MSG_API_REQUEST = 3, - DHCPV6_MSG_API_CONFIRM = 4, - DHCPV6_MSG_API_RENEW = 5, - DHCPV6_MSG_API_REBIND = 6, - DHCPV6_MSG_API_REPLY = 7, - DHCPV6_MSG_API_RELEASE = 8, - DHCPV6_MSG_API_DECLINE = 9, - DHCPV6_MSG_API_RECONFIGURE = 10, - DHCPV6_MSG_API_INFORMATION_REQUEST = 11, - DHCPV6_MSG_API_RELAY_FORW = 12, - DHCPV6_MSG_API_RELAY_REPL = 13, -}; - -/** \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 - Rx/interface vrf id - @param server_vrf_id - server vrf id - @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[] - <fix this, need details> -*/ -autoreply define dhcp_proxy_config -{ - u32 client_index; - u32 context; - u32 rx_vrf_id; - u32 server_vrf_id; - bool is_add; - vl_api_address_t dhcp_server; - vl_api_address_t dhcp_src_address; -}; - -/** \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 - @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 -*/ -autoreply define dhcp_proxy_set_vss -{ - u32 client_index; - u32 context; - u32 tbl_id; - vl_api_vss_type_t vss_type; - string vpn_ascii_id[129]; - u32 oui; - u32 vpn_index; - bool is_ipv6; - bool is_add; -}; - -/** \brief DHCP Client config data - @param sw_if_index - index of the interface for DHCP client - @param hostname - hostname - @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 dscp - DSCP value set in IP packets sent by the client - @param pid - sender's pid -*/ -typedef dhcp_client -{ - vl_api_interface_index_t sw_if_index; - string hostname[64]; - u8 id[64]; - bool want_dhcp_event; - bool set_broadcast_flag; - vl_api_ip_dscp_t dscp; - u32 pid; -}; - -/** \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 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; - bool is_add; - vl_api_dhcp_client_t client; -}; - -/** \brief Struct representing domain server - @param address - IP address -*/ -typedef domain_server -{ - vl_api_address_t address; -}; - -/** \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 - @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 -*/ -typedef dhcp_lease -{ - vl_api_interface_index_t sw_if_index; - vl_api_dhcp_client_state_t state; - bool is_ipv6; - string hostname[64]; - u8 mask_width; - vl_api_address_t host_address; - vl_api_address_t router_address; - vl_api_mac_address_t host_mac; - u8 count; - vl_api_domain_server_t domain_server[count]; -}; - -/** \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 -*/ -define dhcp_proxy_dump -{ - u32 client_index; - u32 context; - bool is_ip6; -}; - -typedef dhcp_server -{ - u32 server_vrf_id; - vl_api_address_t dhcp_server; -}; - -/** \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; - vl_api_vss_type_t vss_type; - bool is_ipv6; - string vss_vpn_ascii_id[129]; - vl_api_address_t dhcp_src_address; - u8 count; - vl_api_dhcp_server_t servers[count]; -}; - -/** \brief Set DHCPv6 DUID-LL - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param duid_ll - DUID-LL binary string -*/ -autoreply define dhcp6_duid_ll_set -{ - u32 client_index; - u32 context; - u8 duid_ll[10]; -}; - -/** \brief Enable/disable listening on DHCPv6 client port - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -autoreply define dhcp6_clients_enable_disable -{ - u32 client_index; - u32 context; - bool enable; -}; - -/** \brief Struct representing DHCPv6 address - @param address - address - @param valid_time - valid lifetime - @param preferred_time - preferred lifetime -*/ -typedef dhcp6_address_info -{ - vl_api_ip6_address_t address; - u32 valid_time; - u32 preferred_time; -}; - -/** \brief Struct representing DHCPv6 PD prefix - @param prefix - prefix - @param valid_time - valid lifetime - @param preferred_time - preferred lifetime -*/ -typedef dhcp6_pd_prefix_info -{ - vl_api_ip6_prefix_t prefix; - u32 valid_time; - u32 preferred_time; -}; - -/** \brief Send DHCPv6 client message of specified type - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param sw_if_index - index of TX interface, also identifies IAID - @param server_index - used to dentify DHCPv6 server, - unique for each DHCPv6 server on the link, - value obrtained from dhcp6_reply_event API message, - use ~0 to send message to all DHCPv6 servers - @param irt - initial retransmission time - @param mrt - maximum retransmission time - @param mrc - maximum retransmission count - @param mrd - maximum retransmission duration - for sending the message - @param stop - if non-zero then stop resending the message, - otherwise start sending the message - @param msg_type - message type - @param T1 - value of T1 in IA_NA option - @param T2 - value of T2 in IA_NA option - @param n_addresses - number of addresses in IA_NA option - @param addresses - list of addresses in IA_NA option -*/ -autoreply define dhcp6_send_client_message -{ - u32 client_index; - u32 context; - vl_api_interface_index_t sw_if_index; - u32 server_index; - u32 irt; - u32 mrt; - u32 mrc; - u32 mrd; - bool stop; - vl_api_dhcpv6_msg_type_t msg_type; - u32 T1; - u32 T2; - u32 n_addresses; - vl_api_dhcp6_address_info_t addresses[n_addresses]; -}; - -/** \brief Send DHCPv6 PD client message of specified type - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param sw_if_index - index of TX interface - @param server_index - used to dentify DHCPv6 server, - unique for each DHCPv6 server on the link, - value obrtained from dhcp6_pd_reply_event API message, - use ~0 to send message to all DHCPv6 servers - @param irt - initial retransmission time - @param mrt - maximum retransmission time - @param mrc - maximum retransmission count - @param mrd - maximum retransmission duration - for sending the message - @param stop - if non-zero then stop resending the message, - otherwise start sending the message - @param msg_type - message type - @param T1 - value of T1 in IA_PD option - @param T2 - value of T2 in IA_PD option - @param n_prefixes - number of addresses in IA_PD option - @param prefixes - list of prefixes in IA_PD option -*/ -autoreply define dhcp6_pd_send_client_message -{ - u32 client_index; - u32 context; - vl_api_interface_index_t sw_if_index; - u32 server_index; - u32 irt; - u32 mrt; - u32 mrc; - u32 mrd; - bool stop; - vl_api_dhcpv6_msg_type_t msg_type; - u32 T1; - u32 T2; - u32 n_prefixes; - vl_api_dhcp6_pd_prefix_info_t prefixes[n_prefixes]; -}; - -service { - rpc want_dhcp6_reply_events returns want_dhcp6_reply_events_reply - events dhcp6_reply_event; -}; - -service { - rpc want_dhcp6_pd_reply_events returns want_dhcp6_pd_reply_events_reply - events dhcp6_pd_reply_event; -}; - -/** \brief Register for DHCPv6 reply events - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param enable_disable - 1 => register for events, 0 => cancel registration - @param pid - sender's pid -*/ -autoreply define want_dhcp6_reply_events -{ - u32 client_index; - u32 context; - u8 enable_disable; - u32 pid; -}; - -/** \brief Register for DHCPv6 PD reply events - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param enable_disable - 1 => register for events, 0 => cancel registration - @param pid - sender's pid -*/ -autoreply define want_dhcp6_pd_reply_events -{ - u32 client_index; - u32 context; - bool enable_disable; - u32 pid; -}; - -/** \brief Tell client about a DHCPv6 server reply event - @param client_index - opaque cookie to identify the sender - @param pid - client pid registered to receive notification - @param sw_if_index - index of RX interface, also identifies IAID - @param server_index - used to dentify DHCPv6 server, - unique for each DHCPv6 server on the link - @param msg_type - message type - @param T1 - value of T1 in IA_NA option - @param T2 - value of T2 in IA_NA option - @param inner_status_code - value of status code inside IA_NA option - @param status_code - value of status code - @param preference - value of preference option in reply message - @param n_addresses - number of addresses in IA_NA option - @param addresses - list of addresses in IA_NA option -*/ -define dhcp6_reply_event -{ - u32 client_index; - u32 pid; - vl_api_interface_index_t sw_if_index; - u32 server_index; - vl_api_dhcpv6_msg_type_t msg_type; - u32 T1; - u32 T2; - u16 inner_status_code; - u16 status_code; - u8 preference; - u32 n_addresses; - vl_api_dhcp6_address_info_t addresses[n_addresses]; -}; - -/** \brief Tell client about a DHCPv6 PD server reply event - @param client_index - opaque cookie to identify the sender - @param pid - client pid registered to receive notification - @param sw_if_index - index of RX interface - @param server_index - used to dentify DHCPv6 server, - unique for each DHCPv6 server on the link - @param msg_type - message type - @param T1 - value of T1 in IA_PD option - @param T2 - value of T2 in IA_PD option - @param inner_status_code - value of status code inside IA_PD option - @param status_code - value of the main status code of DHCPv6 message - @param preference - value of preference option in reply message - @param n_prefixes - number of prefixes in IA_PD option - @param prefixes - list of prefixes in IA_PD option -*/ -define dhcp6_pd_reply_event -{ - u32 client_index; - u32 pid; - vl_api_interface_index_t sw_if_index; - u32 server_index; - vl_api_dhcpv6_msg_type_t msg_type; - u32 T1; - u32 T2; - u16 inner_status_code; - u16 status_code; - u8 preference; - u32 n_prefixes; - vl_api_dhcp6_pd_prefix_info_t prefixes[n_prefixes]; -}; - -/* - * Local Variables: - * eval: (c-set-style "gnu") - * End: - */ |