System configuration allows to manage a switch by providing APIs that help in establishing network connectivity, configuration of hostname, terminal length, serial connection timeout.
System OpEN API
This document provides a brief description of the System OpEN APIs. The System OpEN APIs allow processes outside of the ICOS main process (switchdrvr) access to System Management services. It provides the following services:
- Set system prompt.
- Set/Get system hostname.
- Get maximum length of system prompt and host name.
- Get System Mac Address.
- Get System Burned-In Mac Address.
- Set/Get terminal length.
- Set/Get serial connection timeout.
- Set/Get/Delete Network Port IPv4 address, subnet mask and gateway.
- Set/Get/Delete Network Port IPv6 prefix, prefix length and gateway.
- Set/Get/Delete Service Port IPv4 address, subnet mask and gateway.
- Set/Get/Delete Service Port IPv6 prefix, prefix length and gateway.
- Set/Get Network Port IPv4 protocol mode.
- Set/Get Service Port IPv4 protocol mode.
- Set/Get Telnet Server admin mode.
- Set/Get Network Port IPv6 administrative mode.
- Set/Get Network Port IPv6 auto config mode.
- Set/Get Network Port IPv6 protocol mode.
- Set/Get Service Port IPv6 administrative mode.
- Set/Get Service Port IPv6 auto config mode.
- Set/Get Service Port IPv6 protocol mode.
- Get system hardware version.
- Get system memory information.
- Get the ARP switch output.
All 'Set' operations may affect the Switch behavior and configuration.
Example C Application system_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.
system_example
system_example.c is a sample application that demonstrates the use of the System OpEN APIs. system_example is started from the command line and has the following usage syntax:
Usage: system_example <test#> <arg1> <arg2> ...
- Test 1: Set system prompt: system_example 1 <system-prompt>
- Test 2: Set system host name: system_example 2 <system host-name>
- Test 3: Get system host name: system_example 3
- Test 4: Set terminal length: system_example 4 <access-line> <terminal length>
- Test 5: Set terminal length of an access-line to default: system_example 5 <access-line>
- Test 6: Get terminal length of an access-line: system_example 6 <access-line>
- Test 7: Set serial timeout value: system_example 7 <timeout>
- Test 8: Set serial timeout value to default: system_example 8
- Test 9: Get serial timeout value: system_example 9
- Test 10: Set network port IPv4 parameters: system_example 10 <ipv4-address> <subnet-mask> <gateway>
- Test 11: Get network port IPv4 parameters: system_example 11
- Test 12: Delete network port IPv4 parameters: system_example 12
- Test 13: Set network port IPv6 parameters: system_example 13 <ipv6-address> <prefix-length>
- Test 14: Set network port IPv6 gateway: system_example 14 <gateway>
- Test 15: Get network port IPv6 parameters: system_example 15
- Test 16: Delete network port IPv6 prefix: system_example 16 <ipv6-address> <prefix-length>
- Test 17: Set service port IPv4 parameters: system_example 17 <ipv4-address> <subnet-mask> <gateway>
- Test 18: Get service port IPv4 parameters: system_example 18
- Test 19: Delete service port IPv4 parameters: system_example 19
- Test 20: Set service port IPv6 parameters: system_example 20 <ipv6-address> <prefix-length>
- Test 21: Set service port IPv6 gateway: system_example 21 <gateway>
- Test 22: Get service port IPv6 parameters: system_example 22
- Test 23: Delete service port IPv6 parameters: system_example 23 <ipv6-address> <prefix-length>
- Test 24: Set network port IPv4 protocol mode: system_example 24 <mode>
- Test 25: Get network port Ipv4 protocol mode: system_example 25
- Test 26: Set service port Ipv4 protocol mode: system_example 26 <mode>
- Test 27: Get service port Ipv4 protocol mode: system_example 27
- Test 28: Set telnet server admin mode: system_example 28 <mode>
- Test 29: Get telnet server admin mode: system_example 29
- Test 30: Set network port IPv6 administrative mode: system_example 30 <mode>
- Test 31: Get network port IPv6 administrative mode: system_example 31
- Test 32: Set network port IPv6 auto config mode: system_example 32 <mode>
- Test 33: Get network port IPv6 auto config mode: system_example 33
- Test 34: Set network port IPv6 protocol mode: system_example 34 <mode>
- Test 35: Get network port IPv6 protocol mode: system_example 35
- Test 36: Set service port IPv6 administrative mode: system_example 36 <mode>
- Test 37: Get service port IPv6 administrative mode: system_example 37
- Test 38: Set service port IPv6 auto config mode: system_example 38 <mode>
- Test 39: Get service port IPv6 auto config mode: system_example 39
- Test 40: Set service port IPv6 protocol mode: system_example 40 <mode>
- Test 41: Get service port IPv6 protocol mode: system_example 41
- Test 42: Get System Burned-in MAC address : system_example 42
- Test 43: Get System MAC address : system_example 43
- Test 44: System Save configuration : system_example 44
- Test 45: System Reload : system_example 45
- Test 48: Set network management VLAN: system_example 48 <vlan>
- Test 49: Get network management VLAN: system_example 49
- Test 50: Get system maintenance level: system_example 50
- Test 51: Set resource tracking flag: system_example 51 <mode>
- Test 52: Get system memory information: system_example 52
- Test 50: Get ARP Switch Information: system_example 53
- Test 53: System OpEN APIs Sanity: system_example 54
It exercises all the System OpEN APIs with appropriate arguments to manage the System in the ICOS main process (switchdrvr).
System CLI/API Cross Reference