38 #ifndef OPENAPI_ROUTING_H_INCLUDED
39 #define OPENAPI_ROUTING_H_INCLUDED
49 #define OPEN_RPPI_CLIENT_NAME_MAX_LEN (32)
54 #define RPPI_BRC_ADDR "/tmp/rppi_brc.%04u"
56 #define ROUTER_EVENT_CLIENT_ADDR "/tmp/rppi_rec.%04u"
59 #define RPPI_POLICY_CLIENT_ADDR "/tmp/rppi_pc.%04u"
62 #define RPPI_MSG_SIZE_MAX 256
65 #define OPENR_BRC_NAME_LEN 16
68 #define OPENR_POLICY_CLIENT_NAME_LEN 16
70 #define OPENR_RTR_GBL_MSG_LEN (sizeof(openrRouterEventMsg_t) - sizeof(uint32_t))
71 #define OPENR_RTR_INTF_MSG_LEN (sizeof(openrRouterEventMsg_t))
74 #define OPENR_ROUTING_PROTOCOL_NAME_LEN 10
77 #define OPENR_NUM_BEST_ROUTES_PER_GET 50
83 #define OPENR_PLAT_MAX_ECMP_NEXTHOPS 48
86 #define OPEN_VRF_MAX_NAME_LEN 64
102 OPEN_DELETE_ROUTE = 1,
103 OPEN_CHANGE_ROUTE = 2
111 OPEN_POLICY_ROUTE_MAP = 1,
112 OPEN_POLICY_PREFIX_LIST = 2,
113 OPEN_POLICY_AS_PATH_LIST = 4,
114 OPEN_POLICY_ACL_ROUTE_FILTER = 8
131 OPENR_BEST_ROUTE_CHANGE = 10,
134 OPENR_RTR_ENABLE = 101,
135 OPENR_RTR_DISABLE = 102,
136 OPENR_RTR_STARTUP_DONE = 103,
137 OPENR_RTR_INTF_CREATE = 104,
138 OPENR_RTR_INTF_DELETE = 105,
139 OPENR_RTR_INTF_ENABLE = 106,
140 OPENR_RTR_INTF_ENABLE_PENDING = 107,
141 OPENR_RTR_INTF_DISABLE = 108,
142 OPENR_RTR_INTF_DISABLE_PENDING = 109,
143 OPENR_RTR_INTF_ADDR_CHANGE = 110,
144 OPENR_RTR_INTF_MTU = 111,
145 OPENR_RTR_INTF_BW_CHANGE = 112,
146 OPENR_RTR_INTF_HOST_MODE = 113,
147 OPENR_RTR_INTF_CFG_CHANGE = 114,
149 OPENR_RTR6_ENABLE = 201,
150 OPENR_RTR6_DISABLE = 202,
151 OPENR_RTR6_STARTUP_DONE = 203,
152 OPENR_RTR6_INTF_CREATE = 204,
153 OPENR_RTR6_INTF_DELETE = 205,
154 OPENR_RTR6_INTF_ENABLE = 206,
155 OPENR_RTR6_INTF_DISABLE = 207,
156 OPENR_RTR6_INTF_ADDR_CHANGE = 208,
157 OPENR_RTR6_INTF_MTU = 209,
158 OPENR_RTR6_INTF_BW_CHANGE = 210,
159 OPENR_RTR6_INTF_HOST_MODE = 211,
161 OPENR_POLICY_CHANGE = 300
170 OPEN_NSF_PROTOCOL_OSPF = 0x1,
171 OPEN_NSF_PROTOCOL_RIP = 0x2,
172 OPEN_NSF_PROTOCOL_BGP = 0x4,
173 OPEN_NSF_PROTOCOL_LAST = 0x8
174 } OPEN_NSF_PROTOCOL_t;
199 uint32_t eventSeqNumber;
243 uint32_t
label[OPEN_MAX_MPLS_IMPOSE_LABELS];
288 uint8_t rfc5549Route;
291 uint8_t unnumberedRoute;
353 OPEN_BFD_DISABLE = 0,
355 } OPEN_BFD_ADMIN_MODE_t;
373 uint32_t override_config;
376 uint32_t bfdMultiplier;
377 uint32_t bfdEchoMode;
378 uint32_t bfdSlowTimer;
383 #define OPEN_BFD_MAX_REG_PROT 2
386 #define OPEN_BFD_SESSION_ID_INVALID (~0)
391 OPEN_BFD_SESSION_STATE_ADMIN_DOWN = 0,
392 OPEN_BFD_SESSION_STATE_DOWN = 1,
393 OPEN_BFD_SESSION_STATE_INIT = 2,
394 OPEN_BFD_SESSION_STATE_UP = 3,
395 } OPEN_BFD_SESSION_STATE_t;
399 OPEN_BFD_DIAG_CODE_NONE,
400 OPEN_BFD_DIAG_CODE_CTRL_DETECT_TIME_EXPIRED,
401 OPEN_BFD_DIAG_CODE_ECHO_FAILED,
402 OPEN_BFD_DIAG_CODE_NEIGHBOR_SIGNALED_SESSION_DOWN,
403 OPEN_BFD_DIAG_CODE_FORWARDING_PLANE_RESET,
404 OPEN_BFD_DIAG_CODE_PATH_DOWN,
405 OPEN_BFD_DIAG_CODE_CONCATENATED_PATH_DOWN,
406 OPEN_BFD_DIAG_CODE_ADMIN_DOWN,
407 OPEN_BFD_DIAG_CODE_REVERSE_CONCATENATED_PATH_DOWN,
408 OPEN_BFD_DIAG_CODE_MIS_CONNECTIVITY_DEFECT
409 } OPEN_BFD_DIAG_CODE_t;
412 OPEN_BFD_TUNNEL_TYPE_RAW,
413 OPEN_BFD_TUNNEL_TYPE_UDP,
414 OPEN_BFD_TUNNEL_TYPE_COUNT
415 } openBfdTunnelType_t;
417 #define SYNCDB_OPENAPI_BFD "OpEN API BFD"
418 #define SYNCDB_OPENAPI_BFD_VERSION 1
453 uint32_t
id[OPEN_BFD_MAX_REG_PROT];
465 uint32_t echoOutPkts;
548 uint32_t *routeType);
571 uint32_t addressFamily,
594 uint32_t addressFamily,
683 uint32_t *protoNameLen);
703 uint32_t *routeTypeNameLen);
1045 uint32_t numChanges,
1069 uint32_t clientId, uint32_t intIfNum,
1070 uint32_t numChanges,
1092 uint32_t *maxNextHops);
1121 uint32_t *clientId);
1182 uint32_t *routingIntfMax);
1204 uint32_t *nextIntf);
1224 uint32_t *nextIntf);
1335 uint32_t *loopbackId);
1352 uint32_t loopbackId,
1371 uint32_t *ifNameSize);
1408 uint32_t ifIndex, uint32_t *intIfNum);
1676 uint32_t *bandwidth);
1731 uint32_t *burstSize,
1732 uint32_t *interval);
1805 uint32_t *complete);
1844 uint32_t *complete);
1930 uint32_t policyTypeMask,
1931 uint32_t *clientId);
2016 uint32_t *nextProtoId);
2093 uint32_t *clientId);
2328 uint32_t *rtoFreeRouteCount);
2456 uint32_t intIfNum, uint32_t peerIp,
OPEN_BOOL_t isAdd, uint32_t flag);
2505 int32_t stkIfIndex);
2545 uint32_t vrfId, uint32_t ipSlaId, uint32_t probeReturnCode,
2546 uint32_t lastProbeRTTvalue, uint32_t latestOperationStartUpTime);