OpenNSL API Guide and Reference Manual
Data Structures | Macros | Typedefs | Enumerations | Functions
vxlanX.h File Reference
#include <opennsl/types.h>
#include <opennsl/l3.h>
#include <opennsl/tunnel.h>
#include <opennsl/vlan.h>

Go to the source code of this file.

Data Structures

struct  opennsl_vxlan_port_s
 VXLAN Gport. More...
 
struct  opennsl_vxlan_vpn_config_s
 VXLAN VPN Config Structure. More...
 

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.