Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.11.1.2
Macros | Functions
This Code Implements The OpEN IP6MAP API [OPENAPI_IP6MAP]

Macros

#define OPEN_VRF_MAX_NAME_LEN   15
 

Functions

OPEN_BOOL_t openapiIp6IntfExists (openapiClientHandle_t *client_handle, uint32_t ifNum)
 Determine if IPv6 interface exists. More...
 
OPEN_BOOL_t openapiIp6MapIntfIsValid (openapiClientHandle_t *client_handle, uint32_t ifNum)
 Determine if the interface is valid for participation in the IPv6 component. More...
 
open_error_t openapiIp6MapIntfValidFirstGet (openapiClientHandle_t *client_handle, uint32_t *ifNum)
 Get the first valid interface for participation in IPv6 component. More...
 
open_error_t openapiIp6MapIntfValidNextGet (openapiClientHandle_t *client_handle, uint32_t prevIfNum, uint32_t *ifNum)
 Get the next valid interface for participation in IPv6 component. More...
 
OPEN_BOOL_t openapiIp6MapNbrIntfIsValid (openapiClientHandle_t *client_handle, uint32_t ifNum)
 Determine if the interface is valid to be configured with an IPv6 neighbor. More...
 
open_error_t openapiIp6RtrIntfAutoStateModeGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
 Get the IPv6 AutoState mode of a given interface. More...
 
open_error_t openapiIp6RtrIntfAutoStateModeSet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t mode)
 Set the IPv6 AutoState mode of a given interface. More...
 
open_error_t openapiIp6RtrIntfBandwidthGet (openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *val)
 Get the interface bandwidth of a given interface. More...
 
open_error_t openapiIp6RtrIntfIpv6EffectiveMtuGet (openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *val)
 Get the IPv6 effective MTU of a given interface. More...
 
open_error_t openapiIp6RtrIntfIpv6MtuGet (openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *val)
 Get the IPv6 MTU of a given interface. More...
 
open_error_t openapiIp6RtrIntfIpv6MtuSet (openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t val)
 Set the IPv6 MTU of a given interface. More...
 
open_error_t openapiIp6RtrIntfMaxIpv6MtuGet (openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *val)
 Get the maximum IPv6 MTU that may be set on an interface. More...
 
open_error_t openapiIp6RtrIntfModeGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
 Get the administrative state of a given interface. More...
 
open_error_t openapiIp6RtrIntfModeSet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t mode)
 Set the administrative state of a given interface. More...
 
open_error_t openapiIp6RtrIntfOperModeGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
 Get the operational state of a given interface. More...
 
open_error_t openapiIp6UnresolvedRateLimitGet (openapiClientHandle_t *client_handle, uint32_t *val)
 Get the rate limit value set for the unresolved IPv6 data packets coming to CPU. More...
 
open_error_t openapiIp6UnresolvedRateLimitSet (openapiClientHandle_t *client_handle, uint32_t val)
 Set the rate limit value for the unresolved IPv6 data packets coming to CPU. More...
 
open_error_t openapiIp6VrNbrsDynRenewGet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_CONTROL_t *mode)
 Get the dynamic renewal mode of IPv6 neighbors in a given VRF. More...
 
open_error_t openapiIp6VrNbrsDynRenewSet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_CONTROL_t mode)
 Set the dynamic renewal mode of IPv6 neighbors in a given VRF. More...
 
open_error_t openapiIp6VrNudBackoffMultipleGet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t *val)
 Get the NUD backoff-multiple value set for calculation of timeouts for NS transmissions during NUD for a given VRF. More...
 
open_error_t openapiIp6VrNudBackoffMultipleSet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t val)
 Set the NUD backoff-multiple value for calculation of timeouts for NS transmissions during NUD for a given VRF. More...
 
open_error_t openapiIp6VrNudMaxMcastSolicitsGet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t *val)
 Get the maximum multicast neighbor solicitations sent during NUD for a given VRF. More...
 
open_error_t openapiIp6VrNudMaxMcastSolicitsSet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t val)
 Set the maximum multicast neighbor solicitations sent during NUD for a given VRF. More...
 
open_error_t openapiIp6VrNudMaxUnicastSolicitsGet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t *val)
 Get the maximum unicast neighbor solicitations sent during NUD for a given VRF. More...
 
open_error_t openapiIp6VrNudMaxUnicastSolicitsSet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t val)
 Set the maximum unicast neighbor solicitations sent during NUD for a given VRF. More...
 
open_error_t openapiIp6VrRtrAdminModeGet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_CONTROL_t *mode)
 Get the IPv6 administrative mode of the router for given VRF. More...
 
open_error_t openapiIp6VrRtrAdminModeSet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_CONTROL_t mode)
 Set the IPv6 administrative mode of the router for given VRF. More...
 
open_error_t openapiIp6VrRtrDefaultTTLGet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t *val)
 Get the default IPv6 router TTL value for a given VRF. More...
 
open_error_t openapiIp6VrRtrDefaultTTLSet (openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t val)
 Set the default IPv6 router TTL value for a given VRF. More...
 

Detailed Description

Function Documentation

OPEN_BOOL_t openapiIp6IntfExists ( openapiClientHandle_t client_handle,
uint32_t  ifNum 
)

Determine if IPv6 interface exists.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal interface number
Returns
OPEN_TRUE If given IPv6 interface exists
OPEN_FALSE If given IPv6 interface does not exist
Return values
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
OPEN_BOOL_t openapiIp6MapIntfIsValid ( openapiClientHandle_t client_handle,
uint32_t  ifNum 
)

Determine if the interface is valid for participation in the IPv6 component.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal interface number
Returns
OPEN_TRUE If given interface is valid for IPv6
OPEN_FALSE If given interface is not valid for IPv6
Return values
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6MapIntfValidFirstGet ( openapiClientHandle_t client_handle,
uint32_t *  ifNum 
)

Get the first valid interface for participation in IPv6 component.

Parameters
[in]client_handleClient handle from registration API
[out]ifNumInternal Interface Number
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6MapIntfValidNextGet ( openapiClientHandle_t client_handle,
uint32_t  prevIfNum,
uint32_t *  ifNum 
)

Get the next valid interface for participation in IPv6 component.

Parameters
[in]client_handleClient handle from registration API
[in]prevIfNumPrevious Internal Interface Number
[out]ifNumInternal Interface Number
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
OPEN_BOOL_t openapiIp6MapNbrIntfIsValid ( openapiClientHandle_t client_handle,
uint32_t  ifNum 
)

Determine if the interface is valid to be configured with an IPv6 neighbor.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal interface number
Returns
OPEN_TRUE If given interface is valid for IPv6 neighbor
OPEN_FALSE If given interface is not valid for IPv6 neighbor
Return values
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfAutoStateModeGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_CONTROL_t mode 
)

Get the IPv6 AutoState mode of a given interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[out]modeOPEN_ENABLE or OPEN_DISABLE
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfAutoStateModeSet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_CONTROL_t  mode 
)

Set the IPv6 AutoState mode of a given interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[in]modeOPEN_ENABLE or OPEN_DISABLE
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfBandwidthGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
uint32_t *  val 
)

Get the interface bandwidth of a given interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[out]valThe bandwidth value in bytes
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfIpv6EffectiveMtuGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
uint32_t *  val 
)

Get the IPv6 effective MTU of a given interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[out]valThe IPv6 effective MTU value in bytes
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported
Note
Link MTU is returned if IPv6 MTU is not configured.

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfIpv6MtuGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
uint32_t *  val 
)

Get the IPv6 MTU of a given interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[out]valThe IPv6 MTU value in bytes
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfIpv6MtuSet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
uint32_t  val 
)

Set the IPv6 MTU of a given interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[in]valThe IPv6 MTU value in bytes
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfMaxIpv6MtuGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
uint32_t *  val 
)

Get the maximum IPv6 MTU that may be set on an interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[out]valThe IPv6 maximum MTU value in bytes
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported
Note
On port based routing interfaces, the IP MTU may be set as large as the link MTU. On VLAN routing interfaces, the IP MTU may be set as large as the largest jumbo frame will allow.

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfModeGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_CONTROL_t mode 
)

Get the administrative state of a given interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[out]modeOPEN_ENABLE or OPEN_DISABLE
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfModeSet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_CONTROL_t  mode 
)

Set the administrative state of a given interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[in]modeOPEN_ENABLE or OPEN_DISABLE
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6RtrIntfOperModeGet ( openapiClientHandle_t client_handle,
uint32_t  ifNum,
OPEN_CONTROL_t mode 
)

Get the operational state of a given interface.

Parameters
[in]client_handleClient handle from registration API
[in]ifNumInternal Interface Number
[out]modeOPEN_ENABLE or OPEN_DISABLE
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6UnresolvedRateLimitGet ( openapiClientHandle_t client_handle,
uint32_t *  val 
)

Get the rate limit value set for the unresolved IPv6 data packets coming to CPU.

Parameters
[in]client_handleClient handle from registration API
[out]valThe rate-limt value in pps(packet-per-second)
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6UnresolvedRateLimitSet ( openapiClientHandle_t client_handle,
uint32_t  val 
)

Set the rate limit value for the unresolved IPv6 data packets coming to CPU.

Parameters
[in]client_handleClient handle from registration API
[in]valThe rate-limt value in pps(packet-per-second)
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrNbrsDynRenewGet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
OPEN_CONTROL_t mode 
)

Get the dynamic renewal mode of IPv6 neighbors in a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[out]modeOPEN_ENABLE or OPEN_DISABLE
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrNbrsDynRenewSet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
OPEN_CONTROL_t  mode 
)

Set the dynamic renewal mode of IPv6 neighbors in a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[in]modeOPEN_ENABLE or OPEN_DISABLE
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrNudBackoffMultipleGet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
uint32_t *  val 
)

Get the NUD backoff-multiple value set for calculation of timeouts for NS transmissions during NUD for a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[out]valThe backoff multiple value
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrNudBackoffMultipleSet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
uint32_t  val 
)

Set the NUD backoff-multiple value for calculation of timeouts for NS transmissions during NUD for a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[in]valThe backoff multiple value
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrNudMaxMcastSolicitsGet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
uint32_t *  val 
)

Get the maximum multicast neighbor solicitations sent during NUD for a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[out]valThe maximum multicast solicits value
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrNudMaxMcastSolicitsSet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
uint32_t  val 
)

Set the maximum multicast neighbor solicitations sent during NUD for a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[in]valThe maximum multicast solicits value
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrNudMaxUnicastSolicitsGet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
uint32_t *  val 
)

Get the maximum unicast neighbor solicitations sent during NUD for a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[out]valThe maximum unicast solicits value
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrNudMaxUnicastSolicitsSet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
uint32_t  val 
)

Set the maximum unicast neighbor solicitations sent during NUD for a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[in]valThe maximum unicast solicits value
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrRtrAdminModeGet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
OPEN_CONTROL_t mode 
)

Get the IPv6 administrative mode of the router for given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[out]modeOPEN_ENABLE or OPEN_DISABLE
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported
Note
This routine returns the user-configured state of the router.

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrRtrAdminModeSet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
OPEN_CONTROL_t  mode 
)

Set the IPv6 administrative mode of the router for given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[in]modeOPEN_ENABLE or OPEN_DISABLE
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrRtrDefaultTTLGet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
uint32_t *  val 
)

Get the default IPv6 router TTL value for a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[out]valThe TTL value
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported
Note
If 0 is returned for 'val' then it means TTL is not configured.

OpEN API Version: 1.25

Examples:
ip6map_example.c.
open_error_t openapiIp6VrRtrDefaultTTLSet ( openapiClientHandle_t client_handle,
open_buffdesc vrfName,
uint32_t  val 
)

Set the default IPv6 router TTL value for a given VRF.

Parameters
[in]client_handleClient handle from registration API
[in]vrfNameVRF name
[in]valThe TTL value
Return values
OPEN_E_NONEOn success.
OPEN_E_FAILOn failure.
OPEN_E_PARAMInvalid argument.
OPEN_E_UNAVAILFeature is not supported
Note
This value is sent in router advertisements

OpEN API Version: 1.25

Examples:
ip6map_example.c.