Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.12.0.1
openapi_traceroute.h
Go to the documentation of this file.
1 
9 /*********************************************************************
10 *
11 * Copyright 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_traceroute.h
28 *
29 * @purpose APIs to traceroute host or IPv4/IPv6 Address
30 *
31 * @component OpEN
32 *
33 * @note This code must not include any ICOS header files.
34 *
35 * @create 03/29/2018
36 *
37 * @end
38 *
39 **********************************************************************/
40 #ifndef OPENAPI_TRACEROUTE_H_INCLUDED
41 #define OPENAPI_TRACEROUTE_H_INCLUDED
42 
43 #define OPEN_TRACEROUTE_STRING_SIZE 1024
44 #define OPEN_TRACEROUTE_OUTPUT_STRING_SIZE 4096
45 #define OPEN_TRACEROUTE_ADDRESS_MAX_LEN 256
46 #define OPEN_TRACEROUTE_DEFAULT_PROBE_SIZE 0
47 #define OPEN_TRACEROUTE_DEFAULT_MAX_TTL 30
48 #define OPEN_TRACEROUTE_RESP_STR_MAX_LEN 256
49 #define OPEN_TRACEROUTE_NUM_PROBE_PACKETS 3
50 
51 
52 typedef enum
53 {
58 
59 typedef enum
60 {
64 
65 typedef enum
66 {
73 
74 /***************************************************************************/
93  open_buffdesc *address,
94  open_buffdesc *output);
95 
96 /***************************************************************************/
118  open_buffdesc *address,
119  uint32_t tracerouteCount,
120  open_buffdesc *output);
121 
122 /***************************************************************************/
144  open_buffdesc *address,
145  uint32_t tracerouteInterval,
146  open_buffdesc *output);
147 
148 /***************************************************************************/
173  open_buffdesc *address,
174  uint32_t tracerouteInitTtl,
175  uint32_t tracerouteMaxTtl,
176  open_buffdesc *output);
177 
178 /***************************************************************************/
200  open_buffdesc *address,
201  uint32_t tracerouteMaxFail,
202  open_buffdesc *output);
203 
204 /***************************************************************************/
226  open_buffdesc *address,
227  uint32_t tracerouteSize,
228  open_buffdesc *output);
229 
230 /***************************************************************************/
252  open_buffdesc *address,
253  uint32_t tracerouteUdpPort,
254  open_buffdesc *output);
255 
256 /***************************************************************************/
279  open_buffdesc *address,
281  open_buffdesc *output);
282 
283 /***************************************************************************/
327  open_buffdesc *address,
328  uint32_t tracerouteCount,
329  uint32_t tracerouteInterval,
330  uint32_t tracerouteInitTtl,
331  uint32_t tracerouteMaxTtl,
332  uint32_t tracerouteMaxFail,
333  uint32_t tracerouteSize,
334  uint32_t tracerouteUdpPort,
336  open_buffdesc *output);
337 
338 /***************************************************************************/
365  open_buffdesc *vrfName,
366  OPEN_AF_t family,
367  open_buffdesc *address,
369  uint32_t srcIntf,
370  open_buffdesc *srcAddr,
371  open_buffdesc *output);
372 
373 /***************************************************************************/
420  open_buffdesc *vrfName,
421  OPEN_AF_t family,
422  open_buffdesc *address,
423  uint32_t tracerouteCount,
424  uint32_t tracerouteInterval,
425  uint32_t tracerouteInitTtl,
426  uint32_t tracerouteMaxTtl,
427  uint32_t tracerouteMaxFail,
428  uint32_t tracerouteSize,
429  uint32_t tracerouteUdpPort,
431  uint32_t srcIntf,
432  open_buffdesc *srcAddr,
433  open_buffdesc *output);
434 #endif
435 
open_error_t openapiTracerouteAddressWithCount(openapiClientHandle_t *client_handle, open_buffdesc *address, uint32_t tracerouteCount, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with specific count.
open_error_t openapiTracerouteAddress(openapiClientHandle_t *client_handle, open_buffdesc *address, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address.
open_error_t openapiTracerouteAddressExplicit(openapiClientHandle_t *client_handle, open_buffdesc *address, uint32_t tracerouteCount, uint32_t tracerouteInterval, uint32_t tracerouteInitTtl, uint32_t tracerouteMaxTtl, uint32_t tracerouteMaxFail, uint32_t tracerouteSize, uint32_t tracerouteUdpPort, OPEN_TRACEROUTE_SOURCE_INTF_TYPE_t srcIntf, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with all parameters given at a time.
Traceroute IPv4 Address Type.
open_error_t
OPEN uses these enumerators to indicate the error codes.
Traceroute IP Address/Hostname/IPv6 Address with source interface as network port.
OPEN_TRACEROUTE_ADDR_TYPE_t
Traceroute IP Address/Hostname/IPv6 Address with source interface as service port.
open_error_t openapiTraceroute(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_AF_t family, open_buffdesc *address, uint32_t tracerouteCount, uint32_t tracerouteInterval, uint32_t tracerouteInitTtl, uint32_t tracerouteMaxTtl, uint32_t tracerouteMaxFail, uint32_t tracerouteSize, uint32_t tracerouteUdpPort, OPEN_TRACEROUTE_SOURCE_TYPE_t srcType, uint32_t srcIntf, open_buffdesc *srcAddr, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with all parameters.
open_error_t openapiTracerouteAddressWithMaxFail(openapiClientHandle_t *client_handle, open_buffdesc *address, uint32_t tracerouteMaxFail, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with specific max fail.
open_error_t openapiTracerouteAddressWithPDUSize(openapiClientHandle_t *client_handle, open_buffdesc *address, uint32_t tracerouteSize, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with specific PDU size.
Traceroute IP Address/Hostname/IPv6 Address with source interface as network port.
OPEN_AF_t
OPEN uses these enumerators to indicate address family, IPV4 or IPV6.
OPEN_TRACEROUTE_SOURCE_INTF_TYPE_t
Traceroute IP Address/Hostname/IPv6 Address with source interface as routing interface.
Traceroute IP Address/Hostname/IPv6 Address with source interface as service port.
Traceroute Ipv6 Address Type.
open_error_t openapiTracerouteAddressWithUdpPort(openapiClientHandle_t *client_handle, open_buffdesc *address, uint32_t tracerouteUdpPort, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with specific UDP port.
Traceroute IP Address/Hostname/IPv6 Address without any source.
Traceroute unspecified Address Type.
open_error_t openapiTracerouteWithSource(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, OPEN_AF_t family, open_buffdesc *address, OPEN_TRACEROUTE_SOURCE_TYPE_t srcType, uint32_t srcIntf, open_buffdesc *srcAddr, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with specified source.
open_error_t openapiTracerouteAddressWithSourceInterface(openapiClientHandle_t *client_handle, open_buffdesc *address, OPEN_TRACEROUTE_SOURCE_INTF_TYPE_t srcIntf, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with specific source interface.
open_error_t openapiTracerouteAddressWithInterval(openapiClientHandle_t *client_handle, open_buffdesc *address, uint32_t tracerouteInterval, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with specific interval.
OPEN_TRACEROUTE_SOURCE_TYPE_t
open_error_t openapiTracerouteAddressWithTtl(openapiClientHandle_t *client_handle, open_buffdesc *address, uint32_t tracerouteInitTtl, uint32_t tracerouteMaxTtl, open_buffdesc *output)
Traceroute host or IPv4/IPv6 Address with specific init ttl and max ttl.
Traceroute IP Address/Hostname/IPv6 Address with source address.