This document provides a brief description of the IPv4 Device Tracking OpEN APIs. It provides the following services:
- Set IPv4DT Admin mode
- Get IPv4DT Admin mode
- Set IPv4DT Probe mode
- Get IPv4DT Probe mode
- Set IPv4DT Probe count
- Get IPv4DT Probe count
- Set IPv4DT Probe interval in seconds
- Get IPv4DT Probe interval in seconds
- Set IPv4DT Probe delay in seconds
- Get IPv4DT Probe delay in seconds
- Set IPv4DT maximum entries for an interface
- Get IPv4DT maximum entries for an interface
- Set IPv4DT Auto-source
- Get IPv4DT Auto-source
- Show IPv4DT entries count
- Show all IPv4DT entries
- Show all IPv4DT Active entries
- Show all IPv4DT InActive entries
- Show all IPv4DT entries learned on a interface
- Show all IPv4DT entries per ip
- Show all IPv4DT entries per mac
- Clear all IPv4DT entries
- Clear all IPv4DT entries learned on a interface
- Clear all IPv4DT entries per ip
- Clear all IPv4DT entries per mac
- IPv4DT OpEN APIs Sanity
Example C Application ipv4_device_tracking_example
Initialization
In the main function, the sample application initializes the OpEN API RPC service by calling openapiClientRegister() and waits for the RPC service in switchdrvr to start. A Client Handle is returned by openapiClientRegister() which is used while invoking the OpEN APIs. The application then exercises the associated OpEN APIs and logs informational and/or error messages on the console. The example application runs to its completion and exits.
ipv4_device_tracking_example
ipv4_device_tracking_example.c is a sample application that demonstrates the use of OpEN's IPv4 Device Tracking APIs. ipv4_device_tracking_example.c is started from the command line and can be used to exercise the various APIs by specifying arguments on the command line.
Sample Output
- Usage: ipv4dt_example <test#> <arg1> <arg2> ...
- Test 1: Set IPv4DT Admin mode: ipv4dt_example 1 <mode: 0-disable/1-enable>
- Test 2: Get IPv4DT Admin mode: ipv4dt_example 2
- Test 3: Set IPv4DT Probe mode: ipv4dt_example 3 <mode: 0-disable/1-enable>
- Test 4: Get IPv4DT Probe mode: ipv4dt_example 4
- Test 5: Set IPv4DT Probe count: ipv4dt_example 5 <count: 1-255>
- Test 6: Get IPv4DT Probe count: ipv4dt_example 6
- Test 7: Set IPv4DT Probe interval: ipv4dt_example 7 <interval: 30-300 secs>
- Test 8: Get IPv4DT Probe interval: ipv4dt_example 8
- Test 9: Set IPv4DT Probe delay: ipv4dt_example 9 <delay: 1-120>
- Test 10: Get IPv4DT Probe delay: ipv4dt_example 10
- Test 11: Set IPv4DT maximum entries for an interface: ipv4dt_example 11 <interface> <max-value: 0-10, -1 for nolimit>
- Test 12: Get IPv4DT maximum entries for an interface: ipv4dt_example 12 <interface>
- Test 13: Set IPv4DT Auto-source: ipv4dt_example 13 <host> <mask>
- Test 14: Get IPv4DT Auto-source: ipv4dt_example 14
- Test 15: Show IPv4DT entries count: ipv4dt_example 15
- Test 16: Show all IPv4DT entries: ipv4dt_example 16
- Test 17: Show all IPv4DT Active entries: ipv4dt_example 17
- Test 18: Show all IPv4DT InActive entries: ipv4dt_example 18
- Test 19: Show all IPv4DT entries learned on a interface: ipv4dt_example 19 <interface>
- Test 20: Show all IPv4DT entries per ip: ipv4dt_example 20 <ip>
- Test 21: Show all IPv4DT entries per mac: ipv4dt_example 21 <mac>
- Test 22: Clear all IPv4DT entries: ipv4dt_example 22
- Test 23: Clear all IPv4DT entries learned on a interface: ipv4dt_example 23 <interface>
- Test 24: Clear all IPv4DT entries per ip: ipv4dt_example 24 <ip>
- Test 25: Clear all IPv4DT entries per mac: ipv4dt_example 25 <mac>
- Test 26: IPv4DT OpEN APIs Sanity: ipv4dt_example 26
It exercises all the IPv4 Device Tracking OpEN APIs with appropriate arguments to manage the IPv4DT component in the ICOS main process (switchdrvr).
IPv4 Device Tracking CLI/API Cross Reference