Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.11.1.2
openapi_routing_config.h
Go to the documentation of this file.
1 
9 /*********************************************************************
10 *
11 * Copyright 2016-2023 Broadcom.
12 *
13 * Licensed under the Apache License, Version 2.0 (the "License");
14 * you may not use this file except in compliance with the License.
15 * You may obtain a copy of the License at
16 *
17 * http://www.apache.org/licenses/LICENSE-2.0
18 *
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
24 *
25 * Licensed under the Apache License, Version 2.0 (the "License");
26 * you may not use this file except in compliance with the License.
27 * You may obtain a copy of the License at
28 *
29 * http://www.apache.org/licenses/LICENSE-2.0
30 *
31 * Unless required by applicable law or agreed to in writing, software
32 * distributed under the License is distributed on an "AS IS" BASIS,
33 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34 * See the License for the specific language governing permissions and
35 * limitations under the License.
36 *
37 **********************************************************************
38 *
39 * @filename openapi_routing_config.h
40 *
41 * @purpose Routing Configuration and Status
42 *
43 * @component OPEN
44 *
45 * @create 11/28/2012
46 *
47 * @end
48 *
49 **********************************************************************/
50 #ifndef OPENAPI_ROUTING_CONFIG_H_INCLUDED
51 #define OPENAPI_ROUTING_CONFIG_H_INCLUDED
52 
53 #include <stdio.h>
54 #include <stddef.h>
55 #include <sys/un.h>
56 
57 #include "openapi_common.h"
58 #include "openapi_mpls.h"
59 
61 typedef enum
62 {
67 
69 typedef enum
70 {
75 
76 #define OPEN_DOT1Q_MIN_VLAN_ID 1
77 #define OPEN_DOT1Q_MAX_VLAN_ID 4094
79 #define OPEN_VRF_MIN_NAME_LEN 0
80 #define OPEN_VRF_MAX_NAME_LEN 15
81 #define OPEN_DEFAULT_VRF_NAME ""
82 #define OPEN_INVALID_INTF 0
83 #define OPEN_FD_RTR_MAX_STATIC_ARP_ENTRIES 512
86 typedef struct open_arpCacheStats_s
87 {
88  uint32_t cacheCurrent;
89  uint32_t cachePeak;
90  uint32_t cacheMax;
91  uint32_t staticCurrent;
92  uint32_t staticMax;
94 
96 typedef enum
97 {
107 
109 typedef struct
110 {
112  uint32_t age;
114  uint16_t vrfId;
115  unsigned char macAddr[OPEN_MAC_ADDR_LEN];
116  uint16_t vlanId;
117  uint32_t intIfNum;
118  uint32_t hits;
120 
122 typedef struct
123 {
124  uint32_t count;
127 
128 
130 typedef enum {
131  OPEN_IP_ECMP_LB_MIN = 0, /* general mode */
132  OPEN_IP_ECMP_LB_HASH_IN_SIP,
133  OPEN_IP_ECMP_LB_HASH_IN_DIP,
134  OPEN_IP_ECMP_LB_HASH_IN_SIP_DIP,
135  OPEN_IP_ECMP_LB_HASH_IN_SIP_SPORT,
136  OPEN_IP_ECMP_LB_HASH_IN_DIP_DPORT,
137  OPEN_IP_ECMP_LB_HASH_IN_SIP_DIP_SPORT_DPORT,
138  OPEN_IP_ECMP_LB_HASH_OUT_SIP,
139  OPEN_IP_ECMP_LB_HASH_OUT_DIP,
140  OPEN_IP_ECMP_LB_HASH_OUT_SIP_DIP,
141  OPEN_IP_ECMP_LB_HASH_OUT_SIP_SPORT,
142  OPEN_IP_ECMP_LB_HASH_OUT_DIP_DPORT,
143  OPEN_IP_ECMP_LB_HASH_OUT_SIP_DIP_SPORT_DPORT,
144 #if 0 /* Future place holders */
145  OPEN_IP_ECMP_LB_RR,
146  OPEN_IP_ECMP_LB_RANDOM,
147 #endif
148  OPEN_IP_ECMP_LB_MAX /* total number of enum values */
149 } OPEN_IP_ECMP_LB_MODE_t;
150 
153 {
157 } OPEN_INTF_URPF_MODE_t;
158 
159 #define OPEN_RTO_PREFERENCE_MIN 1
160 #define OPEN_RTO_PREFERENCE_MAX 255
161 
163 typedef enum
164 {
165  OPEN_VRF_SET_ERROR_INVALID = 0,
166  OPEN_LOOPBACK_ERROR = 1,
167  OPEN_UNNUMBERED_ERROR,
168  OPEN_SYSLOG_ERROR,
169  OPEN_IPV6_ERROR
170 }OPEN_VRF_SET_ERROR_t;
171 
172 
173 /*************************************************************************/
188 
189 /*************************************************************************/
204 
205 /*************************************************************************/
221 open_error_t openapiSourceInterfacesGet(openapiClientHandle_t *client_handle, uint32_t *ifNum);
222 
223 /*************************************************************************/
237 open_error_t openapiSourceInterfacesSet(openapiClientHandle_t *client_handle, uint32_t ifNum);
238 
239 /*************************************************************************/
254 
255 /*************************************************************************/
270 
271 /*************************************************************************/
288 open_error_t openapiIpManagementInterfaceParamsSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t dhcpEnabled, uint32_t ipAddr, uint32_t subnetMask);
289 
290 /*************************************************************************/
306 open_error_t openapiIpMapIntfUrpfModeSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_INTF_URPF_MODE_t mode, OPEN_BOOL_t allowDefault);
307 
308 /*************************************************************************/
323 
324 /*************************************************************************/
339 
340 /*************************************************************************/
356 open_error_t openapiIpMapIntfUrpfModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_INTF_URPF_MODE_t *mode, OPEN_BOOL_t *allowDefault);
357 
358 /*************************************************************************/
374 
375 /*************************************************************************/
391 open_error_t openapiIpMapRtrICMPRatelimitGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t *burstSize, uint32_t *interval);
392 
393 /*************************************************************************/
409 open_error_t openapiIPAddrToIntIf(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t ipAddr, uint32_t *ifNum);
410 
411 /*************************************************************************/
427 open_error_t openapiVrIpRouterPreferenceGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t origin, uint32_t *pref);
428 
429 /*************************************************************************/
447 open_error_t openapiVrIpRouterPreferenceSet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t origin, uint32_t pref);
448 
449 /*************************************************************************/
465 
466 /*************************************************************************/
482 
483 /*************************************************************************/
499 
500 /*************************************************************************/
517 open_error_t openapiIpMapRtrICMPRatelimitSet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t burstSize, uint32_t interval);
518 
519 /*************************************************************************/
534 
535 /*************************************************************************/
552 
553 /*************************************************************************/
569 
570 /*************************************************************************/
585 open_error_t openapiVrAddrConflictLastDetectTimeGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t *conflictDetectTime);
586 
587 /*************************************************************************/
602 open_error_t openapiIpNetPrototypeRoutesDelete(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t protoId);
603 
604 /*************************************************************************/
619 open_error_t openapiIpMapRtrIntfVrfReset(openapiClientHandle_t *client_handle, uint32_t ifNum);
620 
621 /*************************************************************************/
652 open_error_t openapiIpMapRtrIntfVrfSet(openapiClientHandle_t *client_handle, uint32_t ifNum, open_buffdesc *vrfName, OPEN_VRF_SET_ERROR_t *vrfSetError);
653 
654 /*************************************************************************/
669 open_error_t openapiIntfIPv4MtuGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *ipMtu);
670 
671 /*************************************************************************/
686 open_error_t openapiIntfMaxIpMtuGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *maxIpMtu);
687 
688 /*************************************************************************/
704 open_error_t openapiIntfEffectiveIpMtuGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *ipMtu);
705 
706 /*************************************************************************/
720 open_error_t openapiIpEcmpLbSet(openapiClientHandle_t *client_handle, OPEN_IP_ECMP_LB_MODE_t lbMode);
721 
722 /*************************************************************************/
736 open_error_t openapiIpEcmpLbGet(openapiClientHandle_t *client_handle, OPEN_IP_ECMP_LB_MODE_t *lbMode);
737 
738 /*************************************************************************/
753 
754 /*************************************************************************/
769 
770 /*************************************************************************/
785 open_error_t openapiIpNetDirectBcastsGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *adminMode);
786 
787 /*************************************************************************/
805 open_error_t openapiIpUnnumberedSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t isUnnumbered, uint32_t numberedIfc);
806 
807 /*************************************************************************/
823 open_error_t openapiIpUnnumberedGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t *isUnnumbered, uint32_t *numberedIfc);
824 
825 /*************************************************************************/
840 open_error_t openapiIpMcastsFwdModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode);
841 
842 /*************************************************************************/
857 open_error_t openapiIpRtrIntfModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode);
858 
859 /*************************************************************************/
875 
876 /*************************************************************************/
892 
893 /*************************************************************************/
909 
910 /*************************************************************************/
924 open_error_t openapiIpVlanRtrVlanIdGetNext(openapiClientHandle_t *client_handle, uint32_t *vlanId);
925 
926 /*************************************************************************/
941 open_error_t openapiIpVlanRtrIntIfNumToVlanId(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *vlanId);
942 
943 /*************************************************************************/
959 open_error_t openapiVlanIntfIdGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *ifNum);
960 
961 /*************************************************************************/
977 open_error_t openapiIpRtrInternalVlanIdToIntIfNum(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *ifNum);
978 
979 /*************************************************************************/
993 open_error_t openapiIpMapValidIntfFirstGet(openapiClientHandle_t *client_handle, uint32_t *ifNum);
994 
995 /*************************************************************************/
1010 open_error_t openapiIpMapValidIntfNextGet(openapiClientHandle_t *client_handle, uint32_t prevIfNum, uint32_t *ifNum);
1011 
1012 /*************************************************************************/
1028 
1029 /*************************************************************************/
1045 
1046 /*************************************************************************/
1061 open_error_t openapiIfBandwidthGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *bandwidth);
1062 
1063 /*************************************************************************/
1078 open_error_t openapiIfBandwidthSet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t bandwidth);
1079 
1080 /*************************************************************************/
1095 open_error_t openapiIfBWGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *bandwidth);
1096 
1097 /*************************************************************************/
1112 
1113 /*************************************************************************/
1127 open_error_t openapiRtrRouteMaxRouteEntriesGet(openapiClientHandle_t *client_handle, uint32_t *maxroutes);
1128 
1129 /*************************************************************************/
1149  uint32_t ifNum, uint32_t *flaps, uint32_t *penalty,
1150  uint32_t *isSuppressed, uint32_t *reuseTime, uint32_t *maxPenalty);
1151 
1152 /*************************************************************************/
1167 open_error_t openapiIpMapProtoNextGet(openapiClientHandle_t *client_handle, uint32_t *protoId);
1168 
1169 /*************************************************************************/
1184 open_error_t openapiIpMapRouteTypeToProtoId(openapiClientHandle_t *client_handle, uint32_t routeType, uint32_t *protoId);
1185 
1186 /*************************************************************************/
1201 
1202 /*************************************************************************/
1217 
1218 /*****************************************************************/
1247  OPEN_AF_t af, uint32_t intf,
1248  OPEN_INTF_IP_ADDR_TYPE_t addrType,
1249  open_inet_pfx_t *ipAddr,
1250  OPEN_CONTROL_t extArg);
1251 
1252 /*****************************************************************/
1280  OPEN_AF_t af,uint32_t intf,
1281  OPEN_INTF_IP_ADDR_TYPE_t addrType,
1282  open_inet_pfx_t *ipAddr,
1283  OPEN_CONTROL_t extArg);
1284 
1285 /*************************************************************************/
1304 
1305 /*****************************************************************/
1322  OPEN_AF_t af, OPEN_CONTROL_t routingMode);
1323 
1324 /*****************************************************************/
1344  open_inet_addr_t ipAddr,
1345  open_buffdesc *mac_addr);
1346 
1347 /*****************************************************************/
1364  open_inet_addr_t ipAddr);
1365 
1366 /*****************************************************************/
1391  uint32_t *intf, open_inet_addr_t *ipAddr,
1392  open_buffdesc *mac_addr);
1393 
1394 
1395 /*****************************************************************/
1411  OPEN_CONTROL_t redirectsMode);
1412 
1413 /*****************************************************************/
1429  OPEN_CONTROL_t echoReplyMode);
1430 
1431 /*****************************************************************/
1447  OPEN_CONTROL_t ipHelperMode);
1448 
1449 /*****************************************************************/
1468  open_inet_addr_t ipAddr, uint32_t udpPort);
1469 
1470 
1471 /*****************************************************************/
1488  open_inet_addr_t ipAddr, uint32_t udpPort);
1489 
1490 
1491 /*****************************************************************/
1509  uint32_t intf, open_inet_addr_t ipAddr,
1510  uint32_t udpPort);
1511 
1512 
1513 /*****************************************************************/
1531  uint32_t intf, open_inet_addr_t ipAddr,
1532  uint32_t udpPort);
1533 
1534 /*****************************************************************/
1551  uint32_t intf, uint32_t udpPort);
1552 
1553 
1554 /*****************************************************************/
1571  uint32_t intf, uint32_t udpPort);
1572 
1573 
1574 /*****************************************************************/
1593  OPEN_AF_t af, uint32_t intf, uint32_t MTU);
1594 
1595 /*****************************************************************/
1612  uint32_t intf, OPEN_CONTROL_t ipNetBroadcastMode);
1613 
1614 /*************************************************************************/
1630  uint32_t intIfNum, OPEN_CONTROL_t *ipProxyArpMode);
1631 
1632 /*****************************************************************/
1650  uint32_t intf, OPEN_CONTROL_t ipProxyArpMode);
1651 
1652 /*************************************************************************/
1668  uint32_t intIfNum, OPEN_CONTROL_t *localProxyArpMode);
1669 
1670 /*************************************************************************/
1686  uint32_t intIfNum, OPEN_CONTROL_t localProxyArpMode);
1687 
1688 /*************************************************************************/
1706  uint32_t intIfNum, OPEN_BOOL_t *isEnabled);
1707 
1708 /*************************************************************************/
1726  uint32_t intIfNum, OPEN_BOOL_t isEnabled);
1727 
1728 /*************************************************************************/
1743  uint32_t intIfNum, OPEN_CONTROL_t gratArpState);
1744 
1745 /*************************************************************************/
1759  OPEN_CONTROL_t *dynRenewMode);
1760 
1761 /*************************************************************************/
1775  OPEN_CONTROL_t dynRenewMode);
1776 
1777 /*************************************************************************/
1791  uint32_t cacheSize);
1792 
1793 /*************************************************************************/
1807  uint32_t count);
1808 
1809 /*************************************************************************/
1823  uint32_t timeout);
1824 
1825 /*************************************************************************/
1845  open_buffdesc *vrfName, OPEN_BOOL_t gateway);
1846 
1847 /*************************************************************************/
1860 
1861 /*************************************************************************/
1881  open_buffdesc *vrfName, open_inet_addr_t ipAddr,
1882  uint32_t intIfNum);
1883 
1884 /*************************************************************************/
1898  uint32_t timeout);
1899 
1900 /*************************************************************************/
1916  open_buffdesc *vrfName,
1917  open_arpCacheStats_t *pStats);
1918 
1919 /*************************************************************************/
1938  open_buffdesc *vrfName,
1939  open_inet_addr_t ipAddress,
1940  uint32_t intIfNum);
1941 
1942 /*************************************************************************/
1966  open_buffdesc *vrfName,
1967  open_inet_addr_t ipAddress,
1968  uint32_t intIfNum,
1969  open_buffdesc *macAddrBuf);
1970 
1971 /*************************************************************************/
1989  open_buffdesc *vrfName,
1990  OPEN_ARP_STATIC_ALL_t *openArpEntries);
1991 
1992 /*****************************************************************/
2009  uint32_t intf, OPEN_CONTROL_t redirectsMode);
2010 
2011 
2012 /*****************************************************************/
2030  uint32_t intf, OPEN_CONTROL_t unreachableMode);
2031 
2032 
2033 /*****************************************************************/
2050  OPEN_CONTROL_t routingMode);
2051 
2052 /*****************************************************************/
2077  OPEN_AF_t af, open_inet_pfx_t *ipAddr,
2078  open_inet_addr_t *nextHop, uint32_t rtPref,
2079  uint32_t intf, OPEN_MPLS_LABELS_t *mpls);
2080 
2081 /*****************************************************************/
2103  OPEN_AF_t af, open_inet_pfx_t *ipAddr,
2104  open_inet_addr_t *nextHop, uint32_t intf,
2105  OPEN_MPLS_LABELS_t *mpls);
2106 
2107 /*****************************************************************/
2126  uint32_t vlanId);
2127 
2128 /*****************************************************************/
2145  uint32_t vlanId);
2146 
2147 /*****************************************************************/
2163  uint32_t vlanId, uint32_t *intf);
2164 
2165 #endif /* OPENAPI_ROUTING_CONFIG_H_INCLUDED */
2166 
open_error_t openapiIpMapIpEvtDampGetDampParams(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *flaps, uint32_t *penalty, uint32_t *isSuppressed, uint32_t *reuseTime, uint32_t *maxPenalty)
Invokes the IPMAP API funciton to get the dampening operational values.
open_error_t openapiRtrVlanIntfCreate(openapiClientHandle_t *client_handle, uint32_t vlanId)
Create a VLAN Routing Interface.
open_error_t openapiIpArpCacheStatsGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, open_arpCacheStats_t *pStats)
Retrieve various ARP cache statistics.
open_error_t openapiIpICMPEchoReplyModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t echoReplyMode)
Enables/Disables IP ICMP Echo Reply mode.
uint32_t cachePeak
peak overall count
IP address is one of switch&#39;s MAC addresses.
uint16_t vlanId
VLAN id of the ARP table entry.
open_error_t openapiIpMapICMPUnreachablesModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
Get the administrative mode of sending ICMP Unreachables.
open_error_t openapiRtrRouteMaxRouteEntriesGet(openapiClientHandle_t *client_handle, uint32_t *maxroutes)
Get the routing max routes entries.
uint32_t staticCurrent
current static entry count
#define OPEN_FD_RTR_MAX_STATIC_ARP_ENTRIES
FD_RTR_MAX_STATIC_ARP_ENTRIES.
open_inet_addr_t ipAddr
IP Address of the ARP table entry.
open_error_t openapiRtrIntfRtrAdminModeSet(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_CONTROL_t routingMode)
Enables/Disables IP Routing mode (both v4 and v6) on a Router interface.
open_error_t openapiIpMapStaticArpDelete(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, open_inet_addr_t ipAddress, uint32_t intIfNum)
Delete a static ARP entry of a given VRF instance.
open_error_t openapiSourceInterfacesGet(openapiClientHandle_t *client_handle, uint32_t *ifNum)
Get source IP interface from Syslog, SNMP Traps, SNTP, DNS Client, RADIUS, TACACS+ and sFlow apps...
open_error_t openapiIpRedirectsModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t redirectsMode)
Enables/Disables generation of IP Redirects messages.
open_error_t openapiSourceInterfacesSet(openapiClientHandle_t *client_handle, uint32_t ifNum)
Set source IP interface for Syslog, SNMP Traps, SNTP, DNS Client, RADIUS, TACACS+ and sFlow apps...
open_error_t openapiRtrIntfIpAddrAdd(openapiClientHandle_t *client_handle, OPEN_AF_t af, uint32_t intf, OPEN_INTF_IP_ADDR_TYPE_t addrType, open_inet_pfx_t *ipAddr, OPEN_CONTROL_t extArg)
Add an IP address on a given router interface for a given address family.
open_error_t openapiRtrIpArpRespTimeSet(openapiClientHandle_t *client_handle, uint32_t timeout)
Sets the ARP request response timeout.
open_error_t openapiVrAddrConflictDetectStatusClear(openapiClientHandle_t *client_handle, open_buffdesc *vrfName)
Clear the Address Conflict Detection Status of a given VRF instance.
open_error_t openapiIpManagementInterfaceGet(openapiClientHandle_t *client_handle, uint32_t *ifNum)
Get the configured IPv4 Management interface.
open_error_t openapiIpRtrIntfOperModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
Determine whether a given IP interface is up for IPv4.
open_error_t openapiIpHelperAddressAdd(openapiClientHandle_t *client_handle, open_inet_addr_t ipAddr, uint32_t udpPort)
Adds IP Helper Address and UDP port number.
open_error_t openapiIpVlanRtrVlanIdGetNext(openapiClientHandle_t *client_handle, uint32_t *vlanId)
Get the next vlan after this vlan on which routing is enabled.
open_error_t openapiRtrIntfIpHelperDiscardDel(openapiClientHandle_t *client_handle, uint32_t intf, uint32_t udpPort)
Deletes IP Helper Discard entry in an interface.
open_error_t openapiArpEntryNextGet(openapiClientHandle_t *client_handle, uint32_t *intf, open_inet_addr_t *ipAddr, open_buffdesc *mac_addr)
Get the next ARP entry.
uint32_t cacheMax
maximum (configured) overall count
open_error_t openapiIpMapSystemUrpfModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *urpfEnabled)
Get the System mode for uRPF.
open_error_t openapiIntfEffectiveIpMtuGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *ipMtu)
Gets the IP MTU value being enforced on a given interface.
open_error_t openapiIpEcmpLbGet(openapiClientHandle_t *client_handle, OPEN_IP_ECMP_LB_MODE_t *lbMode)
Determines the current IP ECMP global load balancing mode.
open_error_t openapiArpEntryAdd(openapiClientHandle_t *client_handle, open_inet_addr_t ipAddr, open_buffdesc *mac_addr)
Add an ARP entry.
open_error_t openapiRtrLocalProxyArpModeSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t localProxyArpMode)
Enable or disable local proxy ARP on an interface.
open_error_t openapiIpRtrIntfAutoStateModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
Get the mode of AutoState feature of an interface.
open_error_t openapiRtrIpArpAgeTimeSet(openapiClientHandle_t *client_handle, uint32_t timeout)
Sets the ARP entry ageout time.
open_error_t openapiIpMapIpPacketsReceivedGet(openapiClientHandle_t *client_handle, uint32_t *val)
Get the IP packets count received by IP-Stack.
open_error_t openapiIntfIPv4MtuGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *ipMtu)
Gets the configured IPv4 MTU value on the given interface.
open_error_t openapiRtrIntfIpv6AddressModeSet(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_INTF_IP6_ADDR_MODE_t addrMode, OPEN_BOOL_t setFlag)
Set or reset the IPv6 address mode on a given router interface.
open_error_t openapiIpMapResilientHashingModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t resHashMode)
Sets the global resilient hashing mode for ECMP trunks.
open_error_t openapiRtrIpMapStaticArpGetAll(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_ARP_STATIC_ALL_t *openArpEntries)
Get a list of all static ARP entries currently configured.
open_error_t openapiIpMapIntfUrpfModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_INTF_URPF_MODE_t *mode, OPEN_BOOL_t *allowDefault)
Get the interface uRPF mode and allowDefault option.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiRtrIntfIpHelperAddressAdd(openapiClientHandle_t *client_handle, uint32_t intf, open_inet_addr_t ipAddr, uint32_t udpPort)
Adds IP Helper Address and UDP port number on an interface.
Discard when seen as source.
open_error_t openapiIpVlanRtrIntIfNumToVlanId(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *vlanId)
Get the VLAN ID corresponding to the given internal interface number.
open_error_t openapiIpMapRtrICMPRedirectsModeSet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_CONTROL_t mode)
Set the administrative mode of sending ICMP Redirects.
open_error_t openapiIpMapRtrICMPRedirectsModeGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_CONTROL_t *mode)
Get the administrative mode of sending ICMP Redirects.
open_error_t openapiRtrIntfMTUSet(openapiClientHandle_t *client_handle, OPEN_AF_t af, uint32_t intf, uint32_t MTU)
Configures Router Interface MTU.
open_error_t openapiVrAddrConflictLastDetectTimeGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t *conflictDetectTime)
Get the time in seconds since the last address conflict was detected in a VRF instance.
IPv6 DHCP address mode.
open_error_t openapiIpRtrIntfModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
Gets the router interface mode.
open_error_t openapiIpNetDirectBcastsGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *adminMode)
Gets the admin mode for IP forwarding of net-directed broadcasts.
open_error_t openapiRtrIntfIpHelperDiscardAdd(openapiClientHandle_t *client_handle, uint32_t intf, uint32_t udpPort)
Adds IP Helper Discard entry in an interface.
open_error_t openapiIpMapRtrICMPEchoReplyModeSet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_CONTROL_t mode)
Set ignore mode for ICMP ECHO Requests.
open_error_t openapiRtrIpArpDynamicRenewSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t dynRenewMode)
Enable or disable the ARP dynamic entry renew mode.
open_error_t openapiRtrIntfIpProxyArpModeGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t *ipProxyArpMode)
Determine whether proxy ARP is enabled on an interface.
open_error_t openapiIpMapStaticArpAdd(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, open_inet_addr_t ipAddress, uint32_t intIfNum, open_buffdesc *macAddrBuf)
Add a static ARP entry of a given VRF instance.
Destination is a router.
struct open_arpCacheStats_s open_arpCacheStats_t
Defines for ARP entry types.
open_error_t openapiIpMapRtrICMPEchoReplyModeGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_CONTROL_t *mode)
Get the administrative mode of sending ICMP Echo Replies.
open_error_t openapiVrIpRouterPreferenceGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t origin, uint32_t *pref)
Get the Router preference for the given protocol and VRF name.
open_error_t openapiRtrIpArpRetriesSet(openapiClientHandle_t *client_handle, uint32_t count)
Sets the ARP request max retries count.
open_error_t openapiRtrGratArpSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t gratArpState)
Enable or disable gratuitous ARP on an interface.
open_error_t openapiRtrIpArpCacheClear(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_BOOL_t gateway)
Clears the ARP cache of all dynamic/gateway entries.
open_error_t openapiIpRouteAdd(openapiClientHandle_t *client_handle, OPEN_AF_t af, open_inet_pfx_t *ipAddr, open_inet_addr_t *nextHop, uint32_t rtPref, uint32_t intf, OPEN_MPLS_LABELS_t *mpls)
Add an IP Route for a given address family.
open_error_t openapiIntfMaxIpMtuGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *maxIpMtu)
Get the maximum IP MTU that may be set on a given interface.
IPv6 Link local address mode.
OPEN_AF_t
OPEN uses these enumerators to indicate address family, IPV4 or IPV6.
open_error_t openapiVrAddrConflictLastDetectMACGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, open_buffdesc *conflictMAC)
Get the MAC Address of the last detected address conflict in a VRF instance.
open_error_t openapiIpHelperModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t ipHelperMode)
Enables/Disables IP Helper mode.
open_error_t openapiVrIpRouterPreferenceSet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t origin, uint32_t pref)
Set the Router preference for the given protocol and VRF name.
open_error_t openapiVrAddrConflictDetectStatusGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_BOOL_t *conflictDetectStatus)
Get the Address Conflict Detection Status of a VRF instance.
open_error_t openapiRtrIntfIpProxyArpModeSet(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_CONTROL_t ipProxyArpMode)
Enables/Disables IP Proxy ARP mode on a Router Interface.
open_error_t openapiRtrAdminModeSet(openapiClientHandle_t *client_handle, OPEN_AF_t af, OPEN_CONTROL_t routingMode)
Enables/Disables IP Routing Admin mode.
open_error_t openapiIpMapProtoNextGet(openapiClientHandle_t *client_handle, uint32_t *protoId)
Get the next protocol ID by iterating through all registered protocols.
open_error_t openapiRtrIntfIpNetDirBroadcastModeSet(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_CONTROL_t ipNetBroadcastMode)
Enables/Disables forwarding of Network-directed broadcast on a Router Interface.
uint32_t hits
Non-zero count of the ARP table entry, if resolved.
open_error_t openapiIPAddrToIntIf(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t ipAddr, uint32_t *ifNum)
Get the internal interface number of the given VRF and IPv4 address.
open_error_t openapiRtrIpArpEntryPurge(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, open_inet_addr_t ipAddr, uint32_t intIfNum)
Purges a specific dynamic/gateway entry from the ARP cache.
open_error_t openapiRtrIpUnnumberedGratArpGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_BOOL_t *isEnabled)
Get the behavior of gratuitous ARP received on unnumbered interface.
open_error_t openapiRtrIpArpCacheSizeSet(openapiClientHandle_t *client_handle, uint32_t cacheSize)
Sets the maximum number of entries in the ARP cache.
OPEN_INTF_IP_ADDR_TYPE_t
&lt; Type of IP address.
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
open_error_t openapiIpMapIfICMPRedirectsModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
Get the interface mode of sending ICMP Redirects.
open_error_t openapiRtrVlanIntfIfNumGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *intf)
Get the interface number for a VLAN Routing Interface.
open_error_t openapiIpMapSystemUrpfModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t urpfEnabled)
Set the System mode for uRPF.
OPEN_ARP_TYPES_t type
ARP entry type bitmask.
open_error_t openapiIpMapRtrIntfVrfSet(openapiClientHandle_t *client_handle, uint32_t ifNum, open_buffdesc *vrfName, OPEN_VRF_SET_ERROR_t *vrfSetError)
Set the VRF participation of an interface.
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
OPEN_INTF_URPF_MODE_s
open_error_t openapiIfBandwidthSet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t bandwidth)
Set the bandwidth of the specified interface.
open_error_t openapiRtrArpSwitchClear(openapiClientHandle_t *client_handle)
Clear the switch/management ARP entries.
open_error_t openapiIpMapRtrICMPRatelimitGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t *burstSize, uint32_t *interval)
Get the ICMP Rate Limiting parameters like burst size and interval.
open_error_t openapiIpRouteDel(openapiClientHandle_t *client_handle, OPEN_AF_t af, open_inet_pfx_t *ipAddr, open_inet_addr_t *nextHop, uint32_t intf, OPEN_MPLS_LABELS_t *mpls)
Delete an IP Route for a given address family.
open_error_t openapiIpNetPrototypeRoutesDelete(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t protoId)
Delete all net-prototype route entries.
open_error_t openapiIpMapValidIntfNextGet(openapiClientHandle_t *client_handle, uint32_t prevIfNum, uint32_t *ifNum)
Get the next valid interface.
open_error_t openapiRtrIntfIpRedirectsModeSet(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_CONTROL_t redirectsMode)
Enables/Disables generation of IP Redirects messages on a Router interface.
open_error_t openapiIpUnnumberedGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t *isUnnumbered, uint32_t *numberedIfc)
Determine whether a given interface is unnumbered and if it is, determine the interface whose address...
open_error_t openapiRtrRouteMaxEqualCostEntriesGet(openapiClientHandle_t *client_handle, uint32_t *maxhops)
Get the routing max equal cost entries.
Resolved ARP entry, dest MAC address known.
open_error_t openapiIpEcmpLbSet(openapiClientHandle_t *client_handle, OPEN_IP_ECMP_LB_MODE_t lbMode)
Sets the current IP ECMP global load balancing mode.
open_error_t openapiIpMapRtrIntfVrfReset(openapiClientHandle_t *client_handle, uint32_t ifNum)
Unset the VRF participation on an interface.
open_error_t openapiIpRtrInternalVlanIdToIntIfNum(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *ifNum)
Get the internal interface number associated with the port-based routing interface corresponding to t...
open_error_t openapiIpEcmpIpsecSpiGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *spiMode)
Determines the current IP ECMP IPSEC SPI Mode.
open_error_t openapiRtrLocalProxyArpModeGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t *localProxyArpMode)
Determine whether local proxy ARP is enabled on an interface.
open_error_t openapiIpHelperAddressDel(openapiClientHandle_t *client_handle, open_inet_addr_t ipAddr, uint32_t udpPort)
Deletes IP Helper Address and UDP port number.
open_error_t openapiIpRtrIntfAutoStateModeSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t mode)
Enable or disable the mode of AutoState feature of an interface.
open_error_t openapiRtrVlanIntfDelete(openapiClientHandle_t *client_handle, uint32_t vlanId)
Delete a VLAN Routing Interface.
open_error_t openapiIpEcmpIpsecSpiSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t spiMode)
Sets the current IP ECMP IPSEC SPI Hashing mode.
open_error_t openapiIpManagementInterfaceSet(openapiClientHandle_t *client_handle, uint32_t ifNum)
Set the IPv4 Management interface.
open_error_t openapiIpMapResilientHashingModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *resHashMode)
Gets the global resilient hashing mode for ECMP trunks.
open_error_t openapiIfBandwidthGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *bandwidth)
Get the bandwidth of the specified interface.
uint32_t cacheCurrent
current overall count
uint32_t intIfNum
Outgoing internal interface number of the ARP table entry.
IPv6 Auto-config address mode.
open_error_t openapiRtrIntfIpDestUnreachableModeSet(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_CONTROL_t unreachableMode)
Enables/Disables generation of IP Destination Unreachable messages on a Router interface.
open_error_t openapiIpMapRouteTypeToProtoId(openapiClientHandle_t *client_handle, uint32_t routeType, uint32_t *protoId)
Get the protocol ID for a given route type.
open_error_t openapiIpMcastsFwdModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
Determine whether an interface is configured to forward multicast packets.
uint32_t staticMax
maximum allowed static entry count
Net directed broadcast addr.
open_error_t openapiVlanIntfIdGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *ifNum)
Get the interface ID for a given VLAN.
open_error_t openapiIpMapIntfUrpfModeSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_INTF_URPF_MODE_t mode, OPEN_BOOL_t allowDefault)
Set the interface uRPF mode and allowDefault option.
open_error_t openapiRtrIpArpDynamicRenewGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *dynRenewMode)
Returns the ARP dynamic entry renew mode.
OPEN_INTF_IP6_ADDR_MODE_t
open_error_t openapiIpMapValidIntfFirstGet(openapiClientHandle_t *client_handle, uint32_t *ifNum)
Get the first valid interface.
open_error_t openapiRtrIntfIpHelperAddressDel(openapiClientHandle_t *client_handle, uint32_t intf, open_inet_addr_t ipAddr, uint32_t udpPort)
Deletes IP Helper Address and UDP port number on an interface.
uint32_t age
ARP entry age in seconds.
uint32_t count
Count of entries populated in the ARP entries array.
open_error_t openapiRtrIntfIpAddrDel(openapiClientHandle_t *client_handle, OPEN_AF_t af, uint32_t intf, OPEN_INTF_IP_ADDR_TYPE_t addrType, open_inet_pfx_t *ipAddr, OPEN_CONTROL_t extArg)
Delete an IP address on a given router interface for a given address family.
Unnumbered intf ARP entry.
open_error_t openapiIpManagementInterfaceParamsSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t dhcpEnabled, uint32_t ipAddr, uint32_t subnetMask)
Set the IPv4 Management interface and enable dhcp or configure static IP on the management interface...
open_error_t openapiRtrIpUnnumberedGratArpSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_BOOL_t isEnabled)
Set the behavior of gratuitous ARP received on unnumbered interface.
open_error_t openapiIpUnnumberedSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t isUnnumbered, uint32_t numberedIfc)
Set the unnumbered status of an interface.
open_error_t openapiArpEntryDel(openapiClientHandle_t *client_handle, open_inet_addr_t ipAddr)
Delete an ARP entry.
uint16_t vrfId
VRF ID of the ARP table entry.
open_error_t openapiIfBWGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *bandwidth)
Get the bandwidth of the specified interface without making any modification to the SET bandwidth...
open_error_t openapiIpMapForwardingStatsGet(openapiClientHandle_t *client_handle, uint32_t *val)
Gets the packets forwarded by CPU.
open_error_t openapiIpMapRtrICMPRatelimitSet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, uint32_t burstSize, uint32_t interval)
Set the ICMP Rate Limiting parameters like burst size and interval.