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

Go to the source code of this file.

Data Structures

struct  opennsl_tunnel_initiator_s
 L3 tunneling initiator. More...
 
struct  opennsl_tunnel_terminator_s
 L3 tunneling terminator. More...
 

Macros

#define OPENNSL_TUNNEL_INIT_USE_INNER_DF   0x00000080
 Copy DF from inner header.
 
#define OPENNSL_TUNNEL_REPLACE   0x00010000
 Update existing tunnel.
 
#define OPENNSL_TUNNEL_TERM_TUNNEL_WITH_ID   0x00000040
 Create tunnel with ID.
 
#define OPENNSL_TUNNEL_WITH_ID   0x00080000
 Add using the specified ID.
 

Typedefs

typedef enum
opennsl_tunnel_dscp_select_e 
opennsl_tunnel_dscp_select_t
 opennsl_tunnel_dscp_select_e
 
typedef struct
opennsl_tunnel_initiator_s 
opennsl_tunnel_initiator_t
 L3 tunneling initiator.
 
typedef int(* opennsl_tunnel_initiator_traverse_cb )(int unit, opennsl_tunnel_initiator_t *info, void *user_data)
 
typedef struct
opennsl_tunnel_terminator_s 
opennsl_tunnel_terminator_t
 L3 tunneling terminator.
 
typedef int(* opennsl_tunnel_terminator_traverse_cb )(int unit, opennsl_tunnel_terminator_t *info, void *user_data)
 
typedef enum opennsl_tunnel_type_e opennsl_tunnel_type_t
 Tunnel types.
 

Enumerations

enum  opennsl_tunnel_dscp_select_e {
  opennslTunnelDscpAssign = 0,
  opennslTunnelDscpPacket = 1,
  opennslTunnelDscpMap = 2,
  opennslTunnelDscpCount = 3
}
 opennsl_tunnel_dscp_select_e More...
 
enum  opennsl_tunnel_type_e { opennslTunnelTypeVxlan = 30 }
 Tunnel types. More...
 

Functions

int opennsl_tunnel_initiator_clear (int unit, opennsl_l3_intf_t *intf) LIB_DLL_EXPORTED
 Delete the tunnel association for the given L3 interface.
 
int opennsl_tunnel_initiator_create (int unit, opennsl_l3_intf_t *intf, opennsl_tunnel_initiator_t *tunnel) LIB_DLL_EXPORTED
 Set the tunneling initiator parameters on an L3 interface.
 
int opennsl_tunnel_initiator_get (int unit, opennsl_l3_intf_t *intf, opennsl_tunnel_initiator_t *tunnel) LIB_DLL_EXPORTED
 Get the tunnel property for the given L3 interface.
 
int opennsl_tunnel_initiator_set (int unit, opennsl_l3_intf_t *intf, opennsl_tunnel_initiator_t *tunnel) LIB_DLL_EXPORTED
 Set the tunneling initiator parameters on an L3 interface.
 
void opennsl_tunnel_initiator_t_init (opennsl_tunnel_initiator_t *tunnel_init) LIB_DLL_EXPORTED
 Initialize a opennsl_tunnel_initiator_t structure.
 
int opennsl_tunnel_initiator_traverse (int unit, opennsl_tunnel_initiator_traverse_cb cb, void *user_data) LIB_DLL_EXPORTED
 Traverse tunnel initiator.
 
int opennsl_tunnel_terminator_add (int unit, opennsl_tunnel_terminator_t *info) LIB_DLL_EXPORTED
 Add a tunnel terminator for DIP-SIP key.
 
int opennsl_tunnel_terminator_create (int unit, opennsl_tunnel_terminator_t *info) LIB_DLL_EXPORTED
 Add a tunnel terminator for DIP-SIP key.
 
int opennsl_tunnel_terminator_delete (int unit, opennsl_tunnel_terminator_t *info) LIB_DLL_EXPORTED
 Delete a tunnel terminator for DIP-SIP key.
 
int opennsl_tunnel_terminator_get (int unit, opennsl_tunnel_terminator_t *info) LIB_DLL_EXPORTED
 Get a tunnel terminator for DIP-SIP key.
 
void opennsl_tunnel_terminator_t_init (opennsl_tunnel_terminator_t *tunnel_term) LIB_DLL_EXPORTED
 Initialize a opennsl_tunnel_terminator_t structure.
 
int opennsl_tunnel_terminator_traverse (int unit, opennsl_tunnel_terminator_traverse_cb cb, void *user_data) LIB_DLL_EXPORTED
 Traverse tunnel terminator.
 
int opennsl_tunnel_terminator_update (int unit, opennsl_tunnel_terminator_t *info) LIB_DLL_EXPORTED
 Update a tunnel terminator for DIP-SIP key.