|
OpenNSL API Guide and Reference Manual
|
Data Structures | |
| struct | opennsl_vxlan_port_s |
| VXLAN Gport. More... | |
| struct | opennsl_vxlan_vpn_config_s |
| VXLAN VPN Config Structure. More... | |
Files | |
| file | vxlan.h |
| file | vxlanX.h |
Macros | |
| #define | OPENNSL_VXLAN_PORT_EGRESS_TUNNEL (1 << 7) |
| Specified Egress tunnel is valid. | |
| #define | OPENNSL_VXLAN_PORT_MULTICAST (1 << 19) |
| Create Multicast-only VXLAN Tunnel. | |
| #define | OPENNSL_VXLAN_PORT_NETWORK (1 << 2) |
| Network facing interface. | |
| #define | OPENNSL_VXLAN_PORT_SERVICE_TAGGED (1 << 8) |
| Service tag mode. | |
| #define | OPENNSL_VXLAN_PORT_WITH_ID (1 << 0) |
| create VXLAN port with specified ID | |
| #define | OPENNSL_VXLAN_VPN_ELAN 0x00000002 |
| #define | OPENNSL_VXLAN_VPN_ELINE 0x00000001 |
| #define | OPENNSL_VXLAN_VPN_SERVICE_TAGGED 0x00000010 |
| #define | OPENNSL_VXLAN_VPN_SERVICE_VLAN_DELETE 0x00000080 |
| #define | OPENNSL_VXLAN_VPN_WITH_ID 0x00000004 |
| #define | OPENNSL_VXLAN_VPN_WITH_VPNID 0x00000008 |
Typedefs | |
| typedef enum opennsl_vxlan_port_match_e | opennsl_vxlan_port_match_t |
| VXLAN port match criteria. | |
| typedef struct opennsl_vxlan_port_s | opennsl_vxlan_port_t |
| VXLAN Gport. | |
| typedef int(* | opennsl_vxlan_port_traverse_cb )(int unit, opennsl_vxlan_port_t *info, void *user_data) |
| typedef enum opennsl_vxlan_stat_e | opennsl_vxlan_stat_t |
| Ingress and Egress statistics maintained per Vxlan. | |
| typedef struct opennsl_vxlan_vpn_config_s | opennsl_vxlan_vpn_config_t |
| VXLAN VPN Config Structure. | |
| typedef int(* | opennsl_vxlan_vpn_traverse_cb )(int unit, opennsl_vxlan_vpn_config_t *info, void *user_data) |
Enumerations | |
| enum | opennsl_vxlan_port_match_e { OPENNSL_VXLAN_PORT_MATCH_INVALID = 0, OPENNSL_VXLAN_PORT_MATCH_NONE = 1, OPENNSL_VXLAN_PORT_MATCH_PORT = 2, OPENNSL_VXLAN_PORT_MATCH_PORT_VLAN = 3, OPENNSL_VXLAN_PORT_MATCH_VN_ID = 7 } |
| VXLAN port match criteria. More... | |
| enum | opennsl_vxlan_stat_e { opennslVxlanInPackets = 0, opennslVxlanOutPackets = 1, opennslVxlanInBytes = 2, opennslVxlanOutBytes = 3 } |
| Ingress and Egress statistics maintained per Vxlan. More... | |
Functions | |
| int | opennsl_vxlan_cleanup (int unit) LIB_DLL_EXPORTED |
| Detach the OPENNSL VXLAN subsystem. | |
| int | opennsl_vxlan_init (int unit) LIB_DLL_EXPORTED |
| Initialize the OPENNSL VXLAN subsystem. | |
| int | opennsl_vxlan_port_add (int unit, opennsl_vpn_t l2vpn, opennsl_vxlan_port_t *vxlan_port) LIB_DLL_EXPORTED |
| opennsl_vxlan_port_add adds a Access or Network VXLAN port. | |
| int | opennsl_vxlan_port_delete (int unit, opennsl_vpn_t l2vpn, opennsl_gport_t vxlan_port_id) LIB_DLL_EXPORTED |
| opennsl_vxlan_port_delete VXLAN port from VXLAN network. | |
| int | opennsl_vxlan_port_delete_all (int unit, opennsl_vpn_t l2vpn) LIB_DLL_EXPORTED |
| opennsl_vxlan_port_delete VXLAN port from VXLAN network. | |
| int | opennsl_vxlan_port_get (int unit, opennsl_vpn_t l2vpn, opennsl_vxlan_port_t *vxlan_port) LIB_DLL_EXPORTED |
| Get VXLAN port information. | |
| int | opennsl_vxlan_port_get_all (int unit, opennsl_vpn_t l2vpn, int port_max, opennsl_vxlan_port_t *port_array, int *port_count) LIB_DLL_EXPORTED |
| Get all VXLAN port information. | |
| void | opennsl_vxlan_port_t_init (opennsl_vxlan_port_t *vxlan_port) LIB_DLL_EXPORTED |
| Initialize VXLAN port structure. | |
| int | opennsl_vxlan_port_traverse (int unit, opennsl_vxlan_port_traverse_cb cb, void *user_data) LIB_DLL_EXPORTED |
| Traverse all valid VXLAN port and call the supplied callback routine. | |
| int | opennsl_vxlan_stat_attach (int unit, opennsl_gport_t port, opennsl_vpn_t vpn, uint32 stat_counter_id) LIB_DLL_EXPORTED |
| Attach counters entries to the given vxlan vp/vpn index. | |
| int | opennsl_vxlan_stat_counter_get (int unit, opennsl_gport_t port, opennsl_vpn_t vpn, opennsl_vxlan_stat_t stat, uint32 num_entries, uint32 *counter_indexes, opennsl_stat_value_t *counter_values) LIB_DLL_EXPORTED |
| Get counter statistic values for a vxlan vp/vpn index. | |
| int | opennsl_vxlan_stat_counter_set (int unit, opennsl_gport_t port, opennsl_vpn_t vpn, opennsl_vxlan_stat_t stat, uint32 num_entries, uint32 *counter_indexes, opennsl_stat_value_t *counter_values) LIB_DLL_EXPORTED |
| Set counter statistic values for a vxlan vp/vpn index. | |
| int | opennsl_vxlan_stat_counter_sync_get (int unit, opennsl_gport_t port, opennsl_vpn_t vpn, opennsl_vxlan_stat_t stat, uint32 num_entries, uint32 *counter_indexes, opennsl_stat_value_t *counter_values) LIB_DLL_EXPORTED |
| Force an immediate counter update and retrieve counter statistic values for a vxlan vp/vpn index. | |
| int | opennsl_vxlan_stat_detach (int unit, opennsl_gport_t port, opennsl_vpn_t vpn) LIB_DLL_EXPORTED |
| Detach counters entries to the given vxlan vp/vpn index. | |
| int | opennsl_vxlan_stat_enable_set (int unit, opennsl_gport_t port, opennsl_vpn_t vpn, int enable) LIB_DLL_EXPORTED |
| Enable/Disable collection of statistics on the indicated port or vpn. | |
| int | opennsl_vxlan_stat_id_get (int unit, opennsl_gport_t port, opennsl_vpn_t vpn, opennsl_vxlan_stat_t stat, uint32 *stat_counter_id) LIB_DLL_EXPORTED |
| Get stat counter ID associated with given vxlan vp/vpn index. | |
| int | opennsl_vxlan_tunnel_initiator_create (int unit, opennsl_tunnel_initiator_t *info) LIB_DLL_EXPORTED |
| Create VXLAN Tunnel Initiator. | |
| int | opennsl_vxlan_tunnel_initiator_destroy (int unit, opennsl_gport_t vxlan_tunnel_id) LIB_DLL_EXPORTED |
| Delete VXLAN Tunnel Initiator. | |
| int | opennsl_vxlan_tunnel_initiator_get (int unit, opennsl_tunnel_initiator_t *info) LIB_DLL_EXPORTED |
| Get VXLAN Tunnel Initiator. | |
| int | opennsl_vxlan_tunnel_initiator_traverse (int unit, opennsl_tunnel_initiator_traverse_cb cb, void *user_data) LIB_DLL_EXPORTED |
| Traverse VXLAN Tunnel initiator. | |
| int | opennsl_vxlan_tunnel_terminator_create (int unit, opennsl_tunnel_terminator_t *info) LIB_DLL_EXPORTED |
| Create VXLAN Tunnel terminator. | |
| int | opennsl_vxlan_tunnel_terminator_destroy (int unit, opennsl_gport_t vxlan_tunnel_id) LIB_DLL_EXPORTED |
| Delete VXLAN Tunnel terminator. | |
| int | opennsl_vxlan_tunnel_terminator_get (int unit, opennsl_tunnel_terminator_t *info) LIB_DLL_EXPORTED |
| Get VXLAN Tunnel terminator. | |
| int | opennsl_vxlan_tunnel_terminator_traverse (int unit, opennsl_tunnel_terminator_traverse_cb cb, void *user_data) LIB_DLL_EXPORTED |
| Traverse VXLAN Tunnel terminator. | |
| int | opennsl_vxlan_tunnel_terminator_update (int unit, opennsl_tunnel_terminator_t *info) LIB_DLL_EXPORTED |
| Update multicast/active state per VXLAN Tunnel terminator. | |
| void | opennsl_vxlan_vpn_config_t_init (opennsl_vxlan_vpn_config_t *info) LIB_DLL_EXPORTED |
| Initialize VXLAN VPN config structure. | |
| int | opennsl_vxlan_vpn_create (int unit, opennsl_vxlan_vpn_config_t *info) LIB_DLL_EXPORTED |
| Create or update VXLAN VPN. | |
| int | opennsl_vxlan_vpn_destroy (int unit, opennsl_vpn_t l2vpn) LIB_DLL_EXPORTED |
| Destroy VXLAN VPN. | |
| int | opennsl_vxlan_vpn_destroy_all (int unit) LIB_DLL_EXPORTED |
| Destroy VXLAN VPN. | |
| int | opennsl_vxlan_vpn_get (int unit, opennsl_vpn_t l2vpn, opennsl_vxlan_vpn_config_t *info) LIB_DLL_EXPORTED |
| Get VXLAN VPN. | |
| int | opennsl_vxlan_vpn_traverse (int unit, opennsl_vxlan_vpn_traverse_cb cb, void *user_data) LIB_DLL_EXPORTED |
| Traverse all valid VXLAN VPN entries and call the supplied callback routine. | |
| #define OPENNSL_VXLAN_PORT_EGRESS_TUNNEL (1 << 7) |
Specified Egress tunnel is valid.
Definition at line 200 of file vxlanX.h.
Referenced by example_vxlan_port_add().
| #define OPENNSL_VXLAN_PORT_MULTICAST (1 << 19) |
| #define OPENNSL_VXLAN_PORT_NETWORK (1 << 2) |
Network facing interface.
Definition at line 198 of file vxlanX.h.
Referenced by example_vxlan_port_add().
| #define OPENNSL_VXLAN_PORT_SERVICE_TAGGED (1 << 8) |
| #define OPENNSL_VXLAN_PORT_WITH_ID (1 << 0) |
| #define OPENNSL_VXLAN_VPN_ELAN 0x00000002 |
Definition at line 28 of file vxlanX.h.
Referenced by example_vxlan_open_vpn().
| #define OPENNSL_VXLAN_VPN_WITH_ID 0x00000004 |
Definition at line 29 of file vxlanX.h.
Referenced by example_vxlan_open_vpn().
| #define OPENNSL_VXLAN_VPN_WITH_VPNID 0x00000008 |
Definition at line 30 of file vxlanX.h.
Referenced by example_vxlan_open_vpn().
| typedef enum opennsl_vxlan_port_match_e opennsl_vxlan_port_match_t |
VXLAN port match criteria.
| typedef struct opennsl_vxlan_port_s opennsl_vxlan_port_t |
VXLAN Gport.
| typedef int(* opennsl_vxlan_port_traverse_cb)(int unit, opennsl_vxlan_port_t *info, void *user_data) |
| typedef enum opennsl_vxlan_stat_e opennsl_vxlan_stat_t |
Ingress and Egress statistics maintained per Vxlan.
| typedef struct opennsl_vxlan_vpn_config_s opennsl_vxlan_vpn_config_t |
VXLAN VPN Config Structure.
| typedef int(* opennsl_vxlan_vpn_traverse_cb)(int unit, opennsl_vxlan_vpn_config_t *info, void *user_data) |
VXLAN port match criteria.
| enum opennsl_vxlan_stat_e |
| int opennsl_vxlan_cleanup | ( | int | unit | ) |
Detach the OPENNSL VXLAN subsystem.
| unit | [IN] Unit number. |
| OPENNSL_E_XXX |
| int opennsl_vxlan_init | ( | int | unit | ) |
Initialize the OPENNSL VXLAN subsystem.
| unit | [IN] Unit number. |
| OPENNSL_E_XXX |
Referenced by example_vxlan().
| int opennsl_vxlan_port_add | ( | int | unit, |
| opennsl_vpn_t | l2vpn, | ||
| opennsl_vxlan_port_t * | vxlan_port | ||
| ) |
opennsl_vxlan_port_add adds a Access or Network VXLAN port.
| unit | [IN] Unit number. |
| l2vpn | [IN] |
| vxlan_port | [IN,OUT] VXLAN port information |
| OPENNSL_E_XXX |
Referenced by example_vxlan_port_add().
| int opennsl_vxlan_port_delete | ( | int | unit, |
| opennsl_vpn_t | l2vpn, | ||
| opennsl_gport_t | vxlan_port_id | ||
| ) |
opennsl_vxlan_port_delete VXLAN port from VXLAN network.
| unit | [IN] Unit number. |
| l2vpn | [IN] |
| vxlan_port_id | [IN] VXLAN port ID for deletion |
| OPENNSL_E_XXX | If Flex Counters are attached to Vxlan port or Vxlan VPN, |
| customer | API sequence should invoke opennsl_vxlan_stat_detach API prior to Vxlan |
| port | or Vxlan VPN deletion. Otherwise Vxlan Port delete or Vxlan VPN delete will |
| return | OPENNSL_E_RESOURCE. |
| To | delete all VXLAN Network-domain ports, specify Reserved VXLAN VPN. |
| To | delete VXLAN Access-domain ports, specify VXLAN VPN. |
| int opennsl_vxlan_port_delete_all | ( | int | unit, |
| opennsl_vpn_t | l2vpn | ||
| ) |
opennsl_vxlan_port_delete VXLAN port from VXLAN network.
| unit | [IN] Unit number. |
| l2vpn | [IN] |
| OPENNSL_E_XXX | If Flex Counters are attached to Vxlan port or Vxlan VPN, |
| customer | API sequence should invoke opennsl_vxlan_stat_detach API prior to Vxlan |
| port | or Vxlan VPN deletion. Otherwise Vxlan Port delete or Vxlan VPN delete will |
| return | OPENNSL_E_RESOURCE. |
| To | delete all VXLAN Network-domain ports, specify Reserved VXLAN VPN. |
| To | delete VXLAN Access-domain ports, specify VXLAN VPN. |
| int opennsl_vxlan_port_get | ( | int | unit, |
| opennsl_vpn_t | l2vpn, | ||
| opennsl_vxlan_port_t * | vxlan_port | ||
| ) |
Get VXLAN port information.
| unit | [IN] Unit number. |
| l2vpn | [IN] |
| vxlan_port | [IN,OUT] VXLAN port information |
| OPENNSL_E_XXX |
| int opennsl_vxlan_port_get_all | ( | int | unit, |
| opennsl_vpn_t | l2vpn, | ||
| int | port_max, | ||
| opennsl_vxlan_port_t * | port_array, | ||
| int * | port_count | ||
| ) |
Get all VXLAN port information.
| unit | [IN] Unit number. |
| l2vpn | [IN] |
| port_max | [IN] Maximum number of VXLAN ports in array |
| port_array | [OUT] Array of VXLAN ports |
| port_count | [OUT] Number of VXLAN ports returned in array |
| OPENNSL_E_XXX |
| void opennsl_vxlan_port_t_init | ( | opennsl_vxlan_port_t * | vxlan_port | ) |
Initialize VXLAN port structure.
| vxlan_port | [IN,OUT] Pointer to the struct to be initialized |
| None. |
Referenced by example_vxlan_port_add().
| int opennsl_vxlan_port_traverse | ( | int | unit, |
| opennsl_vxlan_port_traverse_cb | cb, | ||
| void * | user_data | ||
| ) |
Traverse all valid VXLAN port and call the supplied callback routine.
| unit | [IN] Unit number. |
| cb | [IN] User callback function, called once per VXLAN port |
| user_data | [IN] Cookie |
| OPENNSL_E_XXX |
| int opennsl_vxlan_stat_attach | ( | int | unit, |
| opennsl_gport_t | port, | ||
| opennsl_vpn_t | vpn, | ||
| uint32 | stat_counter_id | ||
| ) |
Attach counters entries to the given vxlan vp/vpn index.
| unit | [IN] Unit number. |
| port | [IN] vxlan vp index |
| vpn | [IN] vxlan vpn index |
| stat_counter_id | [IN] Stat Counter ID |
| OPENNSL_E_xxx | |
| OPENNSL_E_PARAM | for Invalid Vpn and Invalid Port |
| int opennsl_vxlan_stat_counter_get | ( | int | unit, |
| opennsl_gport_t | port, | ||
| opennsl_vpn_t | vpn, | ||
| opennsl_vxlan_stat_t | stat, | ||
| uint32 | num_entries, | ||
| uint32 * | counter_indexes, | ||
| opennsl_stat_value_t * | counter_values | ||
| ) |
Get counter statistic values for a vxlan vp/vpn index.
| unit | [IN] Unit number. |
| port | [IN] vxlan vp index |
| vpn | [IN] vxlan vpn index |
| stat | [IN] Vxlan counter stat types. |
| num_entries | [IN] Number of counter Entries |
| counter_indexes | [IN] Pointer to Counter indexes entries |
| counter_values | [OUT] Pointer to counter values |
| OPENNSL_E_xxx |
| int opennsl_vxlan_stat_counter_set | ( | int | unit, |
| opennsl_gport_t | port, | ||
| opennsl_vpn_t | vpn, | ||
| opennsl_vxlan_stat_t | stat, | ||
| uint32 | num_entries, | ||
| uint32 * | counter_indexes, | ||
| opennsl_stat_value_t * | counter_values | ||
| ) |
Set counter statistic values for a vxlan vp/vpn index.
| unit | [IN] Unit number. |
| port | [IN] vxlan vp index |
| vpn | [IN] vxlan vpn index |
| stat | [IN] Vxlan counter stat types. |
| num_entries | [IN] Number of counter Entries |
| counter_indexes | [IN] Pointer to Counter indexes entries |
| counter_values | [IN] Pointer to counter values |
| OPENNSL_E_xxx |
| int opennsl_vxlan_stat_counter_sync_get | ( | int | unit, |
| opennsl_gport_t | port, | ||
| opennsl_vpn_t | vpn, | ||
| opennsl_vxlan_stat_t | stat, | ||
| uint32 | num_entries, | ||
| uint32 * | counter_indexes, | ||
| opennsl_stat_value_t * | counter_values | ||
| ) |
Force an immediate counter update and retrieve counter statistic values for a vxlan vp/vpn index.
| unit | [IN] Unit number. |
| port | [IN] vxlan vp index |
| vpn | [IN] vxlan vpn index |
| stat | [IN] Vxlan counter stat types. |
| num_entries | [IN] Number of counter Entries |
| counter_indexes | [IN] Pointer to Counter indexes entries |
| counter_values | [OUT] Pointer to counter values |
| OPENNSL_E_xxx |
| int opennsl_vxlan_stat_detach | ( | int | unit, |
| opennsl_gport_t | port, | ||
| opennsl_vpn_t | vpn | ||
| ) |
Detach counters entries to the given vxlan vp/vpn index.
| unit | [IN] Unit number. |
| port | [IN] vxlan vp index |
| vpn | [IN] vxlan vpn index |
| OPENNSL_E_xxx |
| int opennsl_vxlan_stat_enable_set | ( | int | unit, |
| opennsl_gport_t | port, | ||
| opennsl_vpn_t | vpn, | ||
| int | enable | ||
| ) |
Enable/Disable collection of statistics on the indicated port or vpn.
| unit | [IN] Unit number. |
| port | [IN] vxlan vp index |
| vpn | [IN] vxlan vpn index |
| enable | [IN] Non-zero to enable counter collection, zero to disable. |
| OPENNSL_E_xxx |
| int opennsl_vxlan_stat_id_get | ( | int | unit, |
| opennsl_gport_t | port, | ||
| opennsl_vpn_t | vpn, | ||
| opennsl_vxlan_stat_t | stat, | ||
| uint32 * | stat_counter_id | ||
| ) |
Get stat counter ID associated with given vxlan vp/vpn index.
| unit | [IN] Unit number. |
| port | [IN] vxlan vp index |
| vpn | [IN] vxlan vpn index |
| stat | [IN] Vxlan counter stat types. |
| stat_counter_id | [OUT] stat counter ID |
| OPENNSL_E_xxx |
| int opennsl_vxlan_tunnel_initiator_create | ( | int | unit, |
| opennsl_tunnel_initiator_t * | info | ||
| ) |
Create VXLAN Tunnel Initiator.
| unit | [IN] Unit number. |
| info | [IN,OUT] Tunnel Initiator Info |
| OPENNSL_E_XXX |
| int opennsl_vxlan_tunnel_initiator_destroy | ( | int | unit, |
| opennsl_gport_t | vxlan_tunnel_id | ||
| ) |
Delete VXLAN Tunnel Initiator.
| unit | [IN] Unit number. |
| vxlan_tunnel_id | [IN] Tunnel Initiator Id |
| OPENNSL_E_XXX |
| int opennsl_vxlan_tunnel_initiator_get | ( | int | unit, |
| opennsl_tunnel_initiator_t * | info | ||
| ) |
Get VXLAN Tunnel Initiator.
| unit | [IN] Unit number. |
| info | [IN,OUT] Tunnel Initiator Info |
| OPENNSL_E_XXX |
| int opennsl_vxlan_tunnel_initiator_traverse | ( | int | unit, |
| opennsl_tunnel_initiator_traverse_cb | cb, | ||
| void * | user_data | ||
| ) |
Traverse VXLAN Tunnel initiator.
| unit | [IN] Unit number. |
| cb | [IN] User callback function |
| user_data | [IN] User supplied cookie used in parameter in callback function |
| OPENNSL_E_XXX |
| int opennsl_vxlan_tunnel_terminator_create | ( | int | unit, |
| opennsl_tunnel_terminator_t * | info | ||
| ) |
Create VXLAN Tunnel terminator.
| unit | [IN] Unit number. |
| info | [IN,OUT] Tunnel Terminator Info |
| OPENNSL_E_XXX |
| int opennsl_vxlan_tunnel_terminator_destroy | ( | int | unit, |
| opennsl_gport_t | vxlan_tunnel_id | ||
| ) |
Delete VXLAN Tunnel terminator.
| unit | [IN] Unit number. |
| vxlan_tunnel_id | [IN] |
| OPENNSL_E_XXX |
| int opennsl_vxlan_tunnel_terminator_get | ( | int | unit, |
| opennsl_tunnel_terminator_t * | info | ||
| ) |
Get VXLAN Tunnel terminator.
| unit | [IN] Unit number. |
| info | [IN,OUT] Tunnel Terminator Info |
| OPENNSL_E_XXX |
| int opennsl_vxlan_tunnel_terminator_traverse | ( | int | unit, |
| opennsl_tunnel_terminator_traverse_cb | cb, | ||
| void * | user_data | ||
| ) |
Traverse VXLAN Tunnel terminator.
| unit | [IN] Unit number. |
| cb | [IN] User callback function |
| user_data | [IN] User supplied cookie used in parameter in callback function |
| OPENNSL_E_XXX |
| int opennsl_vxlan_tunnel_terminator_update | ( | int | unit, |
| opennsl_tunnel_terminator_t * | info | ||
| ) |
Update multicast/active state per VXLAN Tunnel terminator.
| unit | [IN] Unit number. |
| info | [IN,OUT] Tunnel Terminator Info |
| OPENNSL_E_XXX |
| void opennsl_vxlan_vpn_config_t_init | ( | opennsl_vxlan_vpn_config_t * | info | ) |
Initialize VXLAN VPN config structure.
| info | [IN,OUT] Pointer to the struct to be initialized |
| None. |
Referenced by example_vxlan_open_vpn().
| int opennsl_vxlan_vpn_create | ( | int | unit, |
| opennsl_vxlan_vpn_config_t * | info | ||
| ) |
Create or update VXLAN VPN.
When create a VXLAN VPN: If use OPENNSL_VXLAN_VPN_WITH_VPNID, both VFI and VNID will be created. If not use flag OPENNSL_VXLAN_VPN_WITH_VPNID, only VFI will be created. When update an exist VXLAN VPN(OPENNSL_VXLAN_VPN_REPLACE should be used): If use both OPENNSL_VXLAN_VPN_REPLACE and OPENNSL_VXLAN_VPN_WITH_VPNID, both VFI and VNID will be created. If only use OPENNSL_VXLAN_VPN_REPLACE, the VNID will be removed. If the flex counter is attached to the VPN, the previous flex counter information can be kept.
| unit | [IN] Unit number. |
| info | [IN,OUT] VPN info |
| OPENNSL_E_XXX |
Referenced by example_vxlan_open_vpn().
| int opennsl_vxlan_vpn_destroy | ( | int | unit, |
| opennsl_vpn_t | l2vpn | ||
| ) |
Destroy VXLAN VPN.
| unit | [IN] Unit number. |
| l2vpn | [IN] |
| OPENNSL_E_XXX | If Flex Counters are attached to Vxlan port or Vxlan VPN, |
| customer | API sequence should invoke opennsl_vxlan_stat_detach API prior to Vxlan |
| port | or Vxlan VPN deletion. Otherwise Vxlan Port delete or Vxlan VPN delete will |
| return | OPENNSL_E_RESOURCE. |
| int opennsl_vxlan_vpn_destroy_all | ( | int | unit | ) |
Destroy VXLAN VPN.
| unit | [IN] Unit number. |
| OPENNSL_E_XXX | If Flex Counters are attached to Vxlan port or Vxlan VPN, |
| customer | API sequence should invoke opennsl_vxlan_stat_detach API prior to Vxlan |
| port | or Vxlan VPN deletion. Otherwise Vxlan Port delete or Vxlan VPN delete will |
| return | OPENNSL_E_RESOURCE. |
| int opennsl_vxlan_vpn_get | ( | int | unit, |
| opennsl_vpn_t | l2vpn, | ||
| opennsl_vxlan_vpn_config_t * | info | ||
| ) |
Get VXLAN VPN.
| unit | [IN] Unit number. |
| l2vpn | [IN] |
| info | [OUT] VPN info |
| OPENNSL_E_XXX |
| int opennsl_vxlan_vpn_traverse | ( | int | unit, |
| opennsl_vxlan_vpn_traverse_cb | cb, | ||
| void * | user_data | ||
| ) |
Traverse all valid VXLAN VPN entries and call the supplied callback routine.
| unit | [IN] Unit number. |
| cb | [IN] User callback function, called once per VXLAN VPN entry |
| user_data | [IN] Cookie |
| OPENNSL_E_XXX |