Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
openapi_ip_route_table.h
Go to the documentation of this file.
1 
9 /*****************************************************************************
10 *
11 * Copyright 2016-2018 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 **********************************************************************
26 *
27 * @filename openapi_ip_route_table.h
28 *
29 * @purpose IP Route Table support
30 *
31 * @component OpEN
32 *
33 * @create 05/26/2016
34 *
35 * @end
36 *
37 *********************************************************************/
38 #ifndef OPENAPI_IP_ROUTE_TABLE_H_INCLUDED
39 #define OPENAPI_IP_ROUTE_TABLE_H_INCLUDED
40 
41 #include "openapi_common.h"
42 
43 #define OPEN_API_ROUTE_PREF_MIN 0
44 #define OPEN_API_ROUTE_PREF_MAX 255
45 #define OPEN_API_ROUTE_NEXT_HOP_INTF_BUF_MIN ((16 * 60) + 1)
46 #define OPEN_API_ROUTE_NEXT_HOP_ADDR_BUF_MIN ((16 * 20) + 1)
48 typedef enum
49 {
67  OPEN_RTO_RIP = 17,
77 
78 typedef enum
79 {
99 
100 
101 /*****************************************************************/
125  uint32_t *routeDest,
126  uint32_t *routeMask,
127  OPEN_RTO_PROTOCOL_INDICES_t *routeProto,
128  uint32_t *routePref);
129 
130 /*****************************************************************/
151  uint32_t *routeDest,
152  uint32_t *routeMask,
153  OPEN_RTO_PROTOCOL_INDICES_t *routeProto,
154  uint32_t *routePref,
155  uint32_t *metric);
156 
157 /*****************************************************************/
179  uint32_t *routeDest,
180  uint32_t *routeMask,
181  OPEN_RTO_PROTOCOL_INDICES_t *routeProto,
182  uint32_t *routePref,
183  uint32_t *routeAge);
184 
185 /*****************************************************************/
206  uint32_t *routeDest,
207  uint32_t *routeMask,
208  OPEN_RTO_PROTOCOL_INDICES_t *routeProto,
209  uint32_t *routePref,
210  OPEN_BOOL_t *hwFailure);
211 
212 /*****************************************************************/
236  uint32_t *routeDest,
237  uint32_t *routeMask,
238  OPEN_RTO_PROTOCOL_INDICES_t *routeProto,
239  uint32_t *routePref,
240  open_buffdesc *nextHopIntf);
241 
242 /*****************************************************************/
266  uint32_t *routeDest,
267  uint32_t *routeMask,
268  OPEN_RTO_PROTOCOL_INDICES_t *routeProto,
269  uint32_t *routePref,
270  open_buffdesc *nextHopAddr);
271 #endif /* OPENAPI_IP_ROUTE_TABLE_H_INCLUDED */
272 
OSPFV3 type 2 ext route.
open_error_t openapiIpRouteNextHopAddrGet(openapiClientHandle_t *client_handle, uint32_t *routeDest, uint32_t *routeMask, OPEN_RTO_PROTOCOL_INDICES_t *routeProto, uint32_t *routePref, open_buffdesc *nextHopAddr)
Gets the comma separated list of the IP addresses of the next hop of this route.
OSPFV3 nssa type 2 ext route.
OSPFv3 External Type 1.
OSPF NSSA External Type 1.
Learnt from external third party entity via netlink.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiIpRouteNextHopIntfGet(openapiClientHandle_t *client_handle, uint32_t *routeDest, uint32_t *routeMask, OPEN_RTO_PROTOCOL_INDICES_t *routeProto, uint32_t *routePref, open_buffdesc *nextHopIntf)
Gets the comma separated list of the local interfaces through which the next hop of this route should...
Not a valid protocol.
Always keep this last.
OSPFv3 NSSA External Type 2.
OSPFV3 inter area route.
OSPFV3 type 1 ext route.
OSPF External Type 1.
OSPFv3 External Type 2.
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
OSPFV3 intra area route.
open_error_t openapiIpRouteAgeGet(openapiClientHandle_t *client_handle, uint32_t *routeDest, uint32_t *routeMask, OPEN_RTO_PROTOCOL_INDICES_t *routeProto, uint32_t *routePref, uint32_t *routeAge)
Gets the number of seconds since this route was last updated or otherwise determined to be correct...
open_error_t openapiIpRouteMetricGet(openapiClientHandle_t *client_handle, uint32_t *routeDest, uint32_t *routeMask, OPEN_RTO_PROTOCOL_INDICES_t *routeProto, uint32_t *routePref, uint32_t *metric)
Gets the primary routing metric for this route.
OSPFV3 nssa type 1 ext route.
OPEN_RTO_PROTOCOL_INDICES_t
OSPFv3 NSSA External Type 1.
OSPF External Type 2.
OSPF NSSA External Type 2.
open_error_t openapiIpRouteHwFailureGet(openapiClientHandle_t *client_handle, uint32_t *routeDest, uint32_t *routeMask, OPEN_RTO_PROTOCOL_INDICES_t *routeProto, uint32_t *routePref, OPEN_BOOL_t *hwFailure)
Gets the hardware failure flag for this route.
OPEN_RTO6_ROUTE_TYPE_INDICES_t
open_error_t openapiIpRouteEntryGetNext(openapiClientHandle_t *client_handle, uint32_t *routeDest, uint32_t *routeMask, OPEN_RTO_PROTOCOL_INDICES_t *routeProto, uint32_t *routePref)
Gets the next route entry for the specified route destination.
local BGP routes, e.g., reject routes for aggregates