- @param loc_num - number of locators
- @param lcl_locs - array of local locators
- @param rmt_locs - array of remote locators
- @param action - negative action when 0 locators configured
-*/
-define lisp_gpe_add_del_fwd_entry
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u8 eid_type;
- u8 rmt_eid[16];
- u8 lcl_eid[16];
- u8 rmt_len;
- u8 lcl_len;
- u32 vni;
- u32 dp_table;
- u32 loc_num;
- u8 lcl_locs[loc_num];
- u8 rmt_locs[loc_num];
- u8 action;
-};
-
-/** \brief Reply for gpe_fwd_entry add/del
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define lisp_gpe_add_del_fwd_entry_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief add or delete map-resolver
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add address if non-zero, else delete
- @param is_ipv6 - if non-zero the address is ipv6, else ipv4
- @param ip_address - array of address bytes
-*/
-define lisp_add_del_map_resolver
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u8 is_ipv6;
- u8 ip_address[16];
-};
-
-/** \brief Reply for map_resolver add/del
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define lisp_add_del_map_resolver_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief enable or disable lisp-gpe protocol
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_en - enable protocol if non-zero, else disable
-*/
-define lisp_gpe_enable_disable
-{
- u32 client_index;
- u32 context;
- u8 is_en;
-};
-
-/** \brief Reply for gpe enable/disable
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define lisp_gpe_enable_disable_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief enable or disable LISP feature
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_en - enable protocol if non-zero, else disable
-*/
-define lisp_enable_disable
-{
- u32 client_index;
- u32 context;
- u8 is_en;
-};
-
-/** \brief Reply for gpe enable/disable
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define lisp_enable_disable_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief add or delete gpe_iface
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add address if non-zero, else delete
-*/
-define lisp_gpe_add_del_iface
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u8 is_l2;
- u32 dp_table;
- u32 vni;
-};
-
-/** \brief Reply for gpe_iface add/del
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define lisp_gpe_add_del_iface_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief configure or disable LISP PITR node
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param ls_name - locator set name
- @param is_add - add locator set if non-zero, else disable pitr
-*/
-define lisp_pitr_set_locator_set
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u8 ls_name[64];
-};
-
-/** \brief Reply for lisp_pitr_set_locator_set
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define lisp_pitr_set_locator_set_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief add or delete remote static mapping
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add address if non-zero, else delete
- @param is_src_dst - flag indicating src/dst based routing policy
- @param del_all - if set, delete all remote mappings
- @param vni - virtual network instance
- @param action - negative map-reply action
- @param eid_type -
- 0 : ipv4
- 1 : ipv6
- 2 : mac
- @param deid - dst EID
- @param seid - src EID, valid only if is_src_dst is enabled
- @param rloc_num - number of remote locators
- @param rlocs - remote locator data
-*/
-define lisp_add_del_remote_mapping
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u8 is_src_dst;
- u8 del_all;
- u32 vni;
- u8 action;
- u8 eid_type;
- u8 eid[16];
- u8 eid_len;
- u8 seid[16];
- u8 seid_len;
- u32 rloc_num;
- u8 rlocs[rloc_num];
-};
-
-/** \brief Reply for lisp_add_del_remote_mapping
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define lisp_add_del_remote_mapping_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief add or delete LISP adjacency adjacency
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add address if non-zero, else delete
- @param vni - virtual network instance
- @param eid_type -
- 0 : ipv4
- 1 : ipv6
- 2 : mac
- @param deid - destination EID
- @param seid - source EID
-*/
-define lisp_add_del_adjacency
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u32 vni;
- u8 eid_type;
- u8 deid[16];
- u8 seid[16];
- u8 deid_len;
- u8 seid_len;
-};
-
-/** \brief Reply for lisp_add_del_adjacency
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define lisp_add_del_adjacency_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief add or delete map request itr rlocs
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add address if non-zero, else delete
- @param locator_set_name - locator set name
-*/
-define lisp_add_del_map_request_itr_rlocs
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u8 locator_set_name[64];
-};
-
-/** \brief Reply for lisp_add_del_map_request_itr_rlocs
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-
-define lisp_add_del_map_request_itr_rlocs_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief map/unmap vni/bd_index to vrf
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add or delete mapping
- @param dp_table - virtual network id/bridge domain index
- @param vrf - vrf
-*/
-define lisp_eid_table_add_del_map
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u32 vni;
- u32 dp_table;
- u8 is_l2;
-};
-
-/** \brief Reply for lisp_eid_table_add_del_map
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define lisp_eid_table_add_del_map_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Request for map lisp locator status
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param locator_set_index - index of locator_set
- @param filter - filter type;
- Support value:
- 0: all locator
- 1: local locator
- 2: remote locator
- */
-define lisp_locator_dump
-{
- u32 client_index;
- u32 context;
- u32 locator_set_index;
- u8 filter;
-};
-
-/** \brief LISP locator_set status
- @param local - if is set, then locator is local
- @param locator_set_name - name of the locator_set
- @param sw_if_index - sw_if_index of the locator
- @param priority - locator priority
- @param weight - locator weight
- */
-define lisp_locator_details
-{
- u32 context;
- u8 local;
- u32 sw_if_index;
- u8 is_ipv6;
- u8 ip_address[16];
- u8 priority;
- u8 weight;
-};
-
-/** \brief LISP locator_set status
- @param locator_set_name - name of the locator_set
- @param local - if is set, then locator_set is local
- @param locator_count - number of locator this stats block includes
- @param locator - locator data
- */
-define lisp_locator_set_details
-{
- u32 context;
- u8 local;
- u32 locator_set_index;
- u8 locator_set_name[64];
-};
-
-/** \brief Request for locator_set summary status
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param filter - filter type;
- Support value:
- 0: all locator_set
- 1: local locator_set
- 2: remote locator_set
- */
-define lisp_locator_set_dump
-{
- u32 client_index;
- u32 context;
- u8 filter;
-};
-
-/** \brief Dump lisp eid-table
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param locator_set_index - index of locator_set
- @param is_local - local if non-zero, else remote
- @param eid_type:
- 0 : ipv4
- 1 : ipv6
- 2 : mac
- @param eid - EID can be ip4, ip6 or mac
- @param prefix_len - prefix len
- @param vni - virtual network instance
- @param ttl - time to live
- @param authoritative - authoritative
-*/
-
-define lisp_eid_table_details
-{
- u32 context;
- u32 locator_set_index;
- u8 is_local;
- u8 eid_type;
- u32 vni;
- u8 eid[16];
- u8 eid_prefix_len;
- u32 ttl;
- u8 authoritative;
-};
-
-/** \brief Request for eid table summary status
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param eid_set - if non-zero request info about specific mapping
- @param vni - virtual network instance; valid only if eid_set != 0
- @param prefix_length - prefix length if EID is IP address;
- valid only if eid_set != 0
- @param eid_type - EID type; valid only if eid_set != 0
- Supported values:
- 0: EID is IPv4
- 1: EID is IPv6
- 2: EID is ethernet address
- @param eid - endpoint identifier
- @param filter - filter type;
- Support values:
- 0: all eid
- 1: local eid
- 2: remote eid
- */
-define lisp_eid_table_dump
-{
- u32 client_index;
- u32 context;
- u8 eid_set;
- u8 prefix_length;
- u32 vni;
- u8 eid_type;
- u8 eid[16];
- u8 filter;
-};
-
-/** \brief Shows relationship between vni and vrf/bd
- @param dp_table - VRF index or bridge domain index
- @param vni - vitual network instance
- */
-define lisp_eid_table_map_details
-{
- u32 context;
- u32 vni;
- u32 dp_table;
-};
-
-/** \brief Request for lisp_eid_table_map_details
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_l2 - if set dump vni/bd mappings else vni/vrf
- */
-define lisp_eid_table_map_dump
-{
- u32 client_index;
- u32 context;
- u8 is_l2;
-};
-
-/** \brief Dumps all VNIs used in mappings
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- */
-define lisp_eid_table_vni_dump
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief reply to lisp_eid_table_vni_dump
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param vni - virtual network instance
- */
-define lisp_eid_table_vni_details
-{
- u32 client_index;
- u32 context;
- u32 vni;
-};
-
-define lisp_gpe_tunnel_details
-{
- u32 context;
- u32 tunnels;
- u8 is_ipv6;
- u8 source_ip[16];
- u8 destination_ip[16];
- u32 encap_fib_id;
- u32 decap_fib_id;
- u32 dcap_next;
- u8 lisp_ver;
- u8 next_protocol;
- u8 flags;
- u8 ver_res;
- u8 res;
- u32 iid;
-};
-
-/** \brief Request for gpe tunnel summary status
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- */
-define lisp_gpe_tunnel_dump
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief LISP map resolver status
- @param locator_set_name - name of the locator_set
- @param is_ipv6 - if non-zero the address is ipv6, else ipv4
- @param ip_address - array of address bytes
- */
-define lisp_map_resolver_details
-{
- u32 context;
- u8 is_ipv6;
- u8 ip_address[16];
-};
-
-/** \brief Request for map resolver summary status
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- */
-define lisp_map_resolver_dump
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief Request for lisp-gpe protocol status
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define show_lisp_status
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief Status of lisp, enable or disable
- @param context - sender context, to match reply w/ request
- @param feature_status - lisp enable if non-zero, else disable
- @param gpe_status - lisp enable if non-zero, else disable
-*/
-define show_lisp_status_reply
-{
- u32 context;
- i32 retval;
- u8 feature_status;
- u8 gpe_status;
-};
-
-/** \brief Get LISP map request itr rlocs status
- @param context - sender context, to match reply w/ request
- @param locator_set_name - name of the locator_set
- */
-define lisp_get_map_request_itr_rlocs
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief Request for map request itr rlocs summary status
- */
-define lisp_get_map_request_itr_rlocs_reply
-{
- u32 context;
- i32 retval;
- u8 locator_set_name[64];
-};
-
-/** \brief Request for lisp pitr status
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define show_lisp_pitr
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief Status of lisp pitr, enable or disable
- @param context - sender context, to match reply w/ request
- @param status - lisp pitr enable if non-zero, else disable
- @param locator_set_name - name of the locator_set
-*/
-define show_lisp_pitr_reply
-{
- u32 context;
- i32 retval;
- u8 status;
- u8 locator_set_name[64];
-};
-
-/* Gross kludge, DGMS */
-define interface_name_renumber
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u32 new_show_dev_instance;
-};
-
-define interface_name_renumber_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Register for ip4 arp resolution 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
- @param address - the exact ip4 address of interest
-*/
-define want_ip4_arp_events
-{
- u32 client_index;
- u32 context;
- u8 enable_disable;
- u32 pid;
- u32 address;
-};
-
-/** \brief Reply for interface events registration
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define want_ip4_arp_events_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Tell client about an ip4 arp resolution event
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param address - the exact ip4 address of interest
- @param pid - client pid registered to receive notification
- @param sw_if_index - interface which received ARP packet
- @param new_mac - the new mac address
-*/
-define ip4_arp_event
-{
- u32 client_index;
- u32 context;
- u32 address;
- u32 pid;
- u32 sw_if_index;
- u8 new_mac[6];
-};
-
-/** \brief L2 bridge domain add or delete request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param bd_id - the bridge domain to create
- @param flood - enable/disable bcast/mcast flooding in the bd
- @param uu_flood - enable/disable uknown unicast flood in the bd
- @param forward - enable/disable forwarding on all interfaces in the bd
- @param learn - enable/disable learning on all interfaces in the bd
- @param arp_term - enable/disable arp termination in the bd
- @param is_add - add or delete flag
-*/
-define bridge_domain_add_del
-{
- u32 client_index;
- u32 context;
- u32 bd_id;
- u8 flood;
- u8 uu_flood;
- u8 forward;
- u8 learn;
- u8 arp_term;
- u8 is_add;
-};
-
-/** \brief L2 bridge domain add or delete response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the set bridge flags request
-*/
-define bridge_domain_add_del_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief L2 bridge domain request operational state details
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param bd_id - the bridge domain id desired or ~0 to request all bds
-*/
-define bridge_domain_dump
-{
- u32 client_index;
- u32 context;
- u32 bd_id;
-};
-
-/** \brief L2 bridge domain operational state response
- @param bd_id - the bridge domain id
- @param flood - bcast/mcast flooding state on all interfaces in the bd
- @param uu_flood - uknown unicast flooding state on all interfaces in the bd
- @param forward - forwarding state on all interfaces in the bd
- @param learn - learning state on all interfaces in the bd
- @param arp_term - arp termination state on all interfaces in the bd
- @param n_sw_ifs - number of sw_if_index's in the domain
-*/
-define bridge_domain_details
-{
- u32 context;
- u32 bd_id;
- u8 flood;
- u8 uu_flood;
- u8 forward;
- u8 learn;
- u8 arp_term;
- u32 bvi_sw_if_index;
- u32 n_sw_ifs;
-};
-
-/** \brief L2 bridge domain sw interface operational state response
- @param bd_id - the bridge domain id
- @param sw_if_index - sw_if_index in the domain
- @param shg - split horizon group for the interface
-*/
-define bridge_domain_sw_if_details
-{
- u32 context;
- u32 bd_id;
- u32 sw_if_index;
- u8 shg;
-};
-
-/** \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 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 pid - sender's pid
-*/
-define dhcp_client_config
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u8 hostname[64];
- u8 is_add;
- u8 want_dhcp_event;
- 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 Set/unset input ACL interface
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param sw_if_index - interface to set/unset input ACL
- @param ip4_table_index - ip4 classify table index (~0 for skip)
- @param ip6_table_index - ip6 classify table index (~0 for skip)
- @param l2_table_index - l2 classify table index (~0 for skip)
- @param is_add - Set input ACL if non-zero, else unset
- Note: User is recommeneded to use just one valid table_index per call.
- (ip4_table_index, ip6_table_index, or l2_table_index)
-*/
-define input_acl_set_interface
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u32 ip4_table_index;
- u32 ip6_table_index;
- u32 l2_table_index;
- u8 is_add;
-};
-
-/** \brief Set/unset input ACL interface response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define input_acl_set_interface_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief IPsec: Add/delete Security Policy Database
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add SPD if non-zero, else delete
- @param spd_id - SPD instance id (control plane allocated)
-*/
-
-define ipsec_spd_add_del
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u32 spd_id;
-};
-
-/** \brief Reply for IPsec: Add/delete Security Policy Database entry
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-
-define ipsec_spd_add_del_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief IPsec: Add/delete SPD from interface
-
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add security mode if non-zero, else delete
- @param sw_if_index - index of the interface
- @param spd_id - SPD instance id to use for lookups
-*/
-
-
-define ipsec_interface_add_del_spd
-{
- u32 client_index;
- u32 context;
-
- u8 is_add;
- u32 sw_if_index;
- u32 spd_id;
-};
-
-/** \brief Reply for IPsec: Add/delete SPD from interface
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-
-define ipsec_interface_add_del_spd_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief IPsec: Add/delete Security Policy Database entry
-
- See RFC 4301, 4.4.1.1 on how to match packet to selectors
-
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add SPD if non-zero, else delete
- @param spd_id - SPD instance id (control plane allocated)
- @param priority - priority of SPD entry (non-unique value). Used to order SPD matching - higher priorities match before lower
- @param is_outbound - entry applies to outbound traffic if non-zero, otherwise applies to inbound traffic
- @param is_ipv6 - remote/local address are IPv6 if non-zero, else IPv4
- @param remote_address_start - start of remote address range to match
- @param remote_address_stop - end of remote address range to match
- @param local_address_start - start of local address range to match
- @param local_address_stop - end of local address range to match
- @param protocol - protocol type to match [0 means any]
- @param remote_port_start - start of remote port range to match ...
- @param remote_port_stop - end of remote port range to match [0 to 65535 means ANY, 65535 to 0 means OPAQUE]
- @param local_port_start - start of local port range to match ...
- @param local_port_stop - end of remote port range to match [0 to 65535 means ANY, 65535 to 0 means OPAQUE]
- @param policy - 0 = bypass (no IPsec processing), 1 = discard (discard packet with ICMP processing), 2 = resolve (send request to control plane for SA resolving, and discard without ICMP processing), 3 = protect (apply IPsec policy using following parameters)
- @param sa_id - SAD instance id (control plane allocated)
-
-*/
-
-define ipsec_spd_add_del_entry
-{
- u32 client_index;
- u32 context;
- u8 is_add;
-
- u32 spd_id;
- i32 priority;
- u8 is_outbound;
-
- // Selector
- u8 is_ipv6;
- u8 is_ip_any;
- u8 remote_address_start[16];
- u8 remote_address_stop[16];
- u8 local_address_start[16];
- u8 local_address_stop[16];
-
- u8 protocol;
-
- u16 remote_port_start;
- u16 remote_port_stop;
- u16 local_port_start;
- u16 local_port_stop;
-
- // Policy
- u8 policy;
- u32 sa_id;
-};
-
-/** \brief Reply for IPsec: Add/delete Security Policy Database entry
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-
-define ipsec_spd_add_del_entry_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief IPsec: Add/delete Security Association Database entry
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add SAD entry if non-zero, else delete
-
- @param sad_id - sad id
-
- @param spi - security parameter index
-
- @param protocol - 0 = AH, 1 = ESP
-
- @param crypto_algorithm - 0 = Null, 1 = AES-CBC-128, 2 = AES-CBC-192, 3 = AES-CBC-256, 4 = 3DES-CBC
- @param crypto_key_length - length of crypto_key in bytes
- @param crypto_key - crypto keying material
-
- @param integrity_algorithm - 0 = None, 1 = MD5-96, 2 = SHA1-96, 3 = SHA-256, 4 = SHA-384, 5=SHA-512
- @param integrity_key_length - length of integrity_key in bytes
- @param integrity_key - integrity keying material
-
- @param use_extended_sequence_number - use ESN when non-zero
-
- @param is_tunnel - IPsec tunnel mode if non-zero, else transport mode
- @param is_tunnel_ipv6 - IPsec tunnel mode is IPv6 if non-zero, else IPv4 tunnel only valid if is_tunnel is non-zero
- @param tunnel_src_address - IPsec tunnel source address IPv6 if is_tunnel_ipv6 is non-zero, else IPv4. Only valid if is_tunnel is non-zero
- @param tunnel_dst_address - IPsec tunnel destination address IPv6 if is_tunnel_ipv6 is non-zero, else IPv4. Only valid if is_tunnel is non-zero
-
- To be added:
- Anti-replay
- IPsec tunnel address copy mode (to support GDOI)
- */
-
-define ipsec_sad_add_del_entry
-{
- u32 client_index;
- u32 context;
- u8 is_add;
-
- u32 sad_id;
-
- u32 spi;
-
- u8 protocol;
-
- u8 crypto_algorithm;
- u8 crypto_key_length;
- u8 crypto_key[128];
-
- u8 integrity_algorithm;
- u8 integrity_key_length;
- u8 integrity_key[128];
-
- u8 use_extended_sequence_number;
-
- u8 is_tunnel;
- u8 is_tunnel_ipv6;
- u8 tunnel_src_address[16];
- u8 tunnel_dst_address[16];
-};
-
-/** \brief Reply for IPsec: Add/delete Security Association Database entry
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-
-define ipsec_sad_add_del_entry_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief IPsec: Update Security Association keys
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-
- @param sa_id - sa id
-
- @param crypto_key_length - length of crypto_key in bytes
- @param crypto_key - crypto keying material
-
- @param integrity_key_length - length of integrity_key in bytes
- @param integrity_key - integrity keying material