OpenNSL API Guide and Reference Manual
Data Structures | Files | Macros | Typedefs | Enumerations | Functions
Virtual extensible LAN Management

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.
 

Detailed Description

Macro Definition Documentation

#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)

Create Multicast-only VXLAN Tunnel.

Definition at line 203 of file vxlanX.h.

#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)

Service tag mode.

Definition at line 202 of file vxlanX.h.

#define OPENNSL_VXLAN_PORT_WITH_ID   (1 << 0)

create VXLAN port with specified ID

Definition at line 196 of file vxlanX.h.

#define OPENNSL_VXLAN_VPN_ELAN   0x00000002

Definition at line 28 of file vxlanX.h.

Referenced by example_vxlan_open_vpn().

#define OPENNSL_VXLAN_VPN_ELINE   0x00000001

Definition at line 27 of file vxlanX.h.

#define OPENNSL_VXLAN_VPN_SERVICE_TAGGED   0x00000010

Definition at line 31 of file vxlanX.h.

#define OPENNSL_VXLAN_VPN_SERVICE_VLAN_DELETE   0x00000080

Definition at line 32 of file vxlanX.h.

#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 Documentation

VXLAN port match criteria.

VXLAN Gport.

typedef int(* opennsl_vxlan_port_traverse_cb)(int unit, opennsl_vxlan_port_t *info, void *user_data)

Definition at line 743 of file vxlanX.h.

Ingress and Egress statistics maintained per Vxlan.

VXLAN VPN Config Structure.

typedef int(* opennsl_vxlan_vpn_traverse_cb)(int unit, opennsl_vxlan_vpn_config_t *info, void *user_data)

Definition at line 157 of file vxlanX.h.

Enumeration Type Documentation

VXLAN port match criteria.

Enumerator:
OPENNSL_VXLAN_PORT_MATCH_INVALID 

Illegal.

OPENNSL_VXLAN_PORT_MATCH_NONE 

No source match criteria.

OPENNSL_VXLAN_PORT_MATCH_PORT 

{Module, Port} or Trunk.

OPENNSL_VXLAN_PORT_MATCH_PORT_VLAN 

Mod/port/trunk + outer VLAN.

OPENNSL_VXLAN_PORT_MATCH_VN_ID 

Match VXLAN VN_ID.

Definition at line 185 of file vxlanX.h.

Ingress and Egress statistics maintained per Vxlan.

Enumerator:
opennslVxlanInPackets 

Packets that ingress on the vxlan.

opennslVxlanOutPackets 

Packets that egress on the vxlan.

opennslVxlanInBytes 

Bytes that ingress on the vxlan.

opennslVxlanOutBytes 

Bytes that egress on the vxlan.

Definition at line 569 of file vxlanX.h.

Function Documentation

int opennsl_vxlan_cleanup ( int  unit)

Detach the OPENNSL VXLAN subsystem.

Description
Detach VXLAN software module, clear all hardware VXLAN state.
Parameters
unit[IN] Unit number.
Return values
OPENNSL_E_XXX
int opennsl_vxlan_init ( int  unit)

Initialize the OPENNSL VXLAN subsystem.

Description
Initialize VXLAN software module, init all hardware VXLAN state.
Parameters
unit[IN] Unit number.
Return values
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.

Description
Add VXLAN/NIV/PE port to VXLAN Network. VXLAN Network-domain ports are shared by all VXLAN VPNs. Customers should make use of a Reserved VXLAN VPN to add all Network-domain VXLAN ports within their system. When parameter vxlan_port->vxlan_port_id is NIV/PE port id and flag OPENNSL_VXLAN_PORT_REPLACE is used, this API is used to add the NIV/PE port to VxLAN vpn forwarding domain. But please note that the NIV/PE port is not converted to VxLAN port, it's still NIV/PE port. NIV/PE port id should be used for virtual port operations. When invalid vpn id OPENNSL_VXLAN_VPN_INVALID and vxlan port match criteria OPENNSL_VXLAN_PORT_MATCH_SHARE are used, this API is used to create access shared virtual port, which does not belong to any VPN and can be shared by multiple VXLAN VPNs. After the shared logical port is created, opennsl_port_match_add() can be used to associate multiple VPNs with that shared virtual port. Before deleting the shared logical port, we should use opennsl_port_match_delete() to remove all the associated port match criteria and VPNs first of all. The port match added by opennsl_port_match_add() should be deleted by opennsl_port_match_delete().
Parameters
unit[IN] Unit number.
l2vpn[IN]
vxlan_port[IN,OUT] VXLAN port information
Return values
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.

Description
Delete VXLAN port from VXLAN Network. If delete a shared logical port, the parameter vpn must equal OPENNSL_VXLAN_VPN_INVALID. .
Parameters
unit[IN] Unit number.
l2vpn[IN]
vxlan_port_id[IN] VXLAN port ID for deletion
Return values
OPENNSL_E_XXXIf Flex Counters are attached to Vxlan port or Vxlan VPN,
customerAPI sequence should invoke opennsl_vxlan_stat_detach API prior to Vxlan
portor Vxlan VPN deletion. Otherwise Vxlan Port delete or Vxlan VPN delete will
returnOPENNSL_E_RESOURCE.
Todelete all VXLAN Network-domain ports, specify Reserved VXLAN VPN.
Todelete 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.

Description
Delete VXLAN port from VXLAN Network. If delete a shared logical port, the parameter vpn must equal OPENNSL_VXLAN_VPN_INVALID. .
Parameters
unit[IN] Unit number.
l2vpn[IN]
Return values
OPENNSL_E_XXXIf Flex Counters are attached to Vxlan port or Vxlan VPN,
customerAPI sequence should invoke opennsl_vxlan_stat_detach API prior to Vxlan
portor Vxlan VPN deletion. Otherwise Vxlan Port delete or Vxlan VPN delete will
returnOPENNSL_E_RESOURCE.
Todelete all VXLAN Network-domain ports, specify Reserved VXLAN VPN.
Todelete 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.

Description
Get VXLAN port information for given VXLAN port ID.
Parameters
unit[IN] Unit number.
l2vpn[IN]
vxlan_port[IN,OUT] VXLAN port information
Return values
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.

Description
Get all VXLAN port information. To obtain all VXLAN Network-domain ports, specify Reserved VXLAN VPN. To obtain VXLAN Access-domain ports, specify VXLAN VPN.
Parameters
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
Return values
OPENNSL_E_XXX
void opennsl_vxlan_port_t_init ( opennsl_vxlan_port_t vxlan_port)

Initialize VXLAN port structure.

Description
Initialize the VXLAN port structure.
Parameters
vxlan_port[IN,OUT] Pointer to the struct to be initialized
Return values
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.

Description
Traverse all valid VXLAN port and call the supplied callback routine to get the VXLAN port information. The callback function is defined as following: .
Parameters
unit[IN] Unit number.
cb[IN] User callback function, called once per VXLAN port
user_data[IN] Cookie
Return values
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.

Description
This API will attach counters entries to the given vxlan vp or vpn index. It's recommended to associate the vxlan port with a set of counters which are created with opennslStatObjectIngVxlan or opennslStatObjectEgrVxlan. It's recommended to associate the vxlan vpn with a set of counters which are created with opennslStatObjectIngVfi or opennslStatObjectEgrVfi. The below table mentions the flex stat actions for the input vxlan parameters.
Parameters
unit[IN] Unit number.
port[IN] vxlan vp index
vpn[IN] vxlan vpn index
stat_counter_id[IN] Stat Counter ID
Return values
OPENNSL_E_xxx
OPENNSL_E_PARAMfor 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.

Description
This API will retrieve set of counter statistic values for a vxlan vp/vpn index. The below table mentions the flex stat actions for the input vxlan parameters.
Parameters
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
Return 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.

Description
This API will set counter statistic values for a vxlan vp/vpn index. The below table mentions the flex stat actions for the input vxlan parameters.
Parameters
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
Return 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.

Description
Similar to opennsl_vxlan_stat_counter_get(), value returned is software accumulated counter synced with the hardware counter.
Parameters
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
Return 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.

Description
This API will detach counters entries to the given vxlan vp/vpn index. The below table mentions the flex stat actions for the input vxlan parameters.
Parameters
unit[IN] Unit number.
port[IN] vxlan vp index
vpn[IN] vxlan vpn index
Return values
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.

Description
This API will initialize statistic collection for the given vp/vpn (enable=TRUE) or release the HW resources used for the tracking the statistics (enable=FALSE). The below table mentions the flex stat actions for the input vxlan parameters.
Parameters
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.
Return values
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.

Description
This API will provide stat counter IDs associated with given vxlan vp/vpn index The below table mentions the flex stat actions for the input vxlan parameters.
Parameters
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
Return values
OPENNSL_E_xxx
int opennsl_vxlan_tunnel_initiator_create ( int  unit,
opennsl_tunnel_initiator_t info 
)

Create VXLAN Tunnel Initiator.

Description
Create VXLAN Tunnel Initiator. When OPENNSL_TUNNEL_REPLACE is used to modify a existed VXLAN Tunnel Initiator, dip of Tunnel Initiator should be dip of this existed VXLAN Tunnel Initiator you want to modify. Dip of Tunnel Initiator can not updated with this flag. In fact, dip can not be updated now. And multicast_flag can not take effect in this API either.
Parameters
unit[IN] Unit number.
info[IN,OUT] Tunnel Initiator Info
Return values
OPENNSL_E_XXX
int opennsl_vxlan_tunnel_initiator_destroy ( int  unit,
opennsl_gport_t  vxlan_tunnel_id 
)

Delete VXLAN Tunnel Initiator.

Description
Delete VXLAN Tunnel Initiator.
Parameters
unit[IN] Unit number.
vxlan_tunnel_id[IN] Tunnel Initiator Id
Return values
OPENNSL_E_XXX
int opennsl_vxlan_tunnel_initiator_get ( int  unit,
opennsl_tunnel_initiator_t info 
)

Get VXLAN Tunnel Initiator.

Description
Get VXLAN Tunnel Initiator.
Parameters
unit[IN] Unit number.
info[IN,OUT] Tunnel Initiator Info
Return values
OPENNSL_E_XXX
int opennsl_vxlan_tunnel_initiator_traverse ( int  unit,
opennsl_tunnel_initiator_traverse_cb  cb,
void *  user_data 
)

Traverse VXLAN Tunnel initiator.

Description
Traverse VXLAN Tunnel initiator. The callback function is defined as following:.
Parameters
unit[IN] Unit number.
cb[IN] User callback function
user_data[IN] User supplied cookie used in parameter in callback function
Return values
OPENNSL_E_XXX
int opennsl_vxlan_tunnel_terminator_create ( int  unit,
opennsl_tunnel_terminator_t info 
)

Create VXLAN Tunnel terminator.

Description
Create VXLAN Tunnel terminator.
Parameters
unit[IN] Unit number.
info[IN,OUT] Tunnel Terminator Info
Return values
OPENNSL_E_XXX
int opennsl_vxlan_tunnel_terminator_destroy ( int  unit,
opennsl_gport_t  vxlan_tunnel_id 
)

Delete VXLAN Tunnel terminator.

Description
Delete VXLAN Tunnel terminator.
Parameters
unit[IN] Unit number.
vxlan_tunnel_id[IN]
Return values
OPENNSL_E_XXX
int opennsl_vxlan_tunnel_terminator_get ( int  unit,
opennsl_tunnel_terminator_t info 
)

Get VXLAN Tunnel terminator.

Description
Get VXLAN Tunnel terminator.
Parameters
unit[IN] Unit number.
info[IN,OUT] Tunnel Terminator Info
Return values
OPENNSL_E_XXX
int opennsl_vxlan_tunnel_terminator_traverse ( int  unit,
opennsl_tunnel_terminator_traverse_cb  cb,
void *  user_data 
)

Traverse VXLAN Tunnel terminator.

Description
Traverse VXLAN Tunnel terminator. The callback function is defined as following:.
Parameters
unit[IN] Unit number.
cb[IN] User callback function
user_data[IN] User supplied cookie used in parameter in callback function
Return values
OPENNSL_E_XXX
int opennsl_vxlan_tunnel_terminator_update ( int  unit,
opennsl_tunnel_terminator_t info 
)

Update multicast/active state per VXLAN Tunnel terminator.

Description
Update multicast/active state of VXLAN Tunnel terminator. And this API can only be used to Update multicast/active state of VXLAN Tunnel terminator.
Parameters
unit[IN] Unit number.
info[IN,OUT] Tunnel Terminator Info
Return values
OPENNSL_E_XXX
void opennsl_vxlan_vpn_config_t_init ( opennsl_vxlan_vpn_config_t info)

Initialize VXLAN VPN config structure.

Description
Initialize VXLAN VPN config structure.
Parameters
info[IN,OUT] Pointer to the struct to be initialized
Return values
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.

Parameters
unit[IN] Unit number.
info[IN,OUT] VPN info
Return values
OPENNSL_E_XXX

Referenced by example_vxlan_open_vpn().

int opennsl_vxlan_vpn_destroy ( int  unit,
opennsl_vpn_t  l2vpn 
)

Destroy VXLAN VPN.

Description
Destroy VXLAN VPN. .
Parameters
unit[IN] Unit number.
l2vpn[IN]
Return values
OPENNSL_E_XXXIf Flex Counters are attached to Vxlan port or Vxlan VPN,
customerAPI sequence should invoke opennsl_vxlan_stat_detach API prior to Vxlan
portor Vxlan VPN deletion. Otherwise Vxlan Port delete or Vxlan VPN delete will
returnOPENNSL_E_RESOURCE.
int opennsl_vxlan_vpn_destroy_all ( int  unit)

Destroy VXLAN VPN.

Description
Destroy VXLAN VPN. .
Parameters
unit[IN] Unit number.
Return values
OPENNSL_E_XXXIf Flex Counters are attached to Vxlan port or Vxlan VPN,
customerAPI sequence should invoke opennsl_vxlan_stat_detach API prior to Vxlan
portor Vxlan VPN deletion. Otherwise Vxlan Port delete or Vxlan VPN delete will
returnOPENNSL_E_RESOURCE.
int opennsl_vxlan_vpn_get ( int  unit,
opennsl_vpn_t  l2vpn,
opennsl_vxlan_vpn_config_t info 
)

Get VXLAN VPN.

Description
Get VXLAN VPN.
Parameters
unit[IN] Unit number.
l2vpn[IN]
info[OUT] VPN info
Return values
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.

Description
Traverse all valid VXLAN VPN entry and call the supplied callback routine. The callback function is defined as following:.
Parameters
unit[IN] Unit number.
cb[IN] User callback function, called once per VXLAN VPN entry
user_data[IN] Cookie
Return values
OPENNSL_E_XXX