#include <unistd.h>
#include <stdlib.h>
#include "rpcclt_openapi.h"
#include "proc_util.h"
{
{
printf("%s: openapiPmlGlobalAdminModeGet failed (%d)\n",
__FUNCTION__, ret);
}
else
{
printf(
"global admin mode %s\n", (mode ==
OPEN_ENABLE ?
"enable" :
"disable"));
}
}
{
{
printf("%s: openapiPmlIntfIsValid failed (%d)\n",
__FUNCTION__, ret);
}
else
{
printf(
"interface %d is %svalid\n", ifNum, (isValid ==
OPEN_TRUE ?
"" :
"not "));
}
}
{
{
printf("%s: openapiPmlIntfModeGet failed (%d)\n",
__FUNCTION__, ret);
}
else
{
printf(
"interface %d mode %s\n", ifNum, (mode ==
OPEN_ENABLE ?
"enable" :
"disable"));
}
}
{
uint32_t limit;
{
printf("%s: openapiPmlIntfDynamicLimitGet failed (%d)\n",
__FUNCTION__, ret);
}
else
{
printf("interface %d dynamic limit %u\n", ifNum, limit);
}
}
{
uint32_t limit;
{
printf("%s: openapiPmlIntfStaticLimitGet failed (%d)\n",
__FUNCTION__, ret);
}
else
{
printf("interface %d static limit %u\n", ifNum, limit);
}
}
{
{
printf("%s: openapiPmlIntfViolationTrapModeGet failed (%d)\n",
__FUNCTION__, ret);
}
else
{
printf(
"interface %d violation trap mode %s\n", ifNum, (mode ==
OPEN_ENABLE ?
"enable" :
"disable"));
}
}
{
{
printf("%s: openapiPmlIntfViolationDDisableModeGet failed (%d)\n",
__FUNCTION__, ret);
}
else
{
printf(
"interface %d violation D-Disable mode %s\n", ifNum, (mode ==
OPEN_ENABLE ?
"enable" :
"disable"));
}
}
{
{
printf("%s: openapiPmlIntfStickyModeGet failed (%d)\n",
__FUNCTION__, ret);
}
else
{
printf(
"interface %d sticky mode %s\n", ifNum, (mode ==
OPEN_ENABLE ?
"enable" :
"disable"));
}
}
void printAppMenu(char *name)
{
printf("\nUsage: %s <test#> <arg1> <arg2> ...\n\n", name);
printf("Test 1: get the global admin mode: %s 1\n", name);
printf("Test 2: get whether interface is valid PML interface: %s 2 <intf>\n", name);
printf("Test 3: get the mode for a valid PML interface: %s 3 <intf>\n", name);
printf("Test 4: get the dynamic limit for a valid PML interface: %s 4 <intf>\n", name);
printf("Test 5: get the static limit for a valid PML interface: %s 5 <intf>\n", name);
printf("Test 6: get the violation trap mode for a valid PML interface: %s 6 <intf>\n", name);
printf("Test 7: get the violation D-Disable mode for a valid PML interface: %s 7 <intf>\n", name);
printf("Test 8: get the sticky mode for a valid PML interface: %s 8 <intf>\n", name);
printf("Test 9: run negative tests: %s 9 <intf>\n", name);
return;
}
{
uint32_t invalidIntf = 0xffffffff;
uint32_t value;
printf("\nTesting openapiPmlGlobalAdminModeGet(): \n");
printf("NULL Client Handle. (result = %d)\n", result);
printf("NULL mode arg. (result = %d)\n", result);
printf("\nTesting openapiPmlIntfIsValid(): \n");
printf("NULL Client Handle. (result = %d)\n", result);
printf("NULL valid arg. (result = %d)\n", result);
printf("Likely invalid intf arg. (result = %d)\n", result);
printf("\nTesting openapiPmlIntfModeGet(): \n");
printf("NULL Client Handle. (result = %d)\n", result);
printf("NULL mode arg. (result = %d)\n", result);
printf("Likely invalid intf arg. (result = %d)\n", result);
printf("\nTesting openapiPmlIntfDynamicLimitGet(): \n");
printf("NULL Client Handle. (result = %d)\n", result);
printf("NULL limit argument. (result = %d)\n", result);
printf("Likely invalid intf arg. (result = %d)\n", result);
printf("\nTesting openapiPmlIntfStaticLimitGet(): \n");
printf("NULL Client Handle. (result = %d)\n", result);
printf("NULL limit argument. (result = %d)\n", result);
printf("Likely invalid intf arg. (result = %d)\n", result);
printf("\nTesting openapiPmlIntfViolationTrapModeGet(): \n");
printf("NULL Client Handle. (result = %d)\n", result);
printf("NULL mode arg. (result = %d)\n", result);
printf("Likely invalid intf arg. (result = %d)\n", result);
printf("\nTesting openapiPmlIntfViolationDDisableModeGet(): \n");
printf("NULL Client Handle. (result = %d)\n", result);
printf("NULL mode arg. (result = %d)\n", result);
printf("Likely invalid intf arg. (result = %d)\n", result);
printf("\nTesting openapiPmlIntfStickyModeGet(): \n");
printf("NULL Client Handle. (result = %d)\n", result);
printf("NULL mode arg. (result = %d)\n", result);
printf("Likely invalid intf arg. (result = %d)\n", result);
return;
}
int main(int argc, char *argv[])
{
uint32_t testNum;
uint32_t intf;
char switch_os_revision_string[100];
int show_help = 1;
if (argc < 2)
{
printAppMenu(argv[0]);
return -1;
}
testNum = atoi(argv[1]);
if (argc >= 3)
{
intf = atoi(argv[2]);
}
l7proc_crashlog_register();
{
printf("\nFailed to initialize RPC to OpEN. Exiting (result = %d)\n", result);
return -1;
}
{
sleep(1);
}
L7PROC_LOGF(L7PROC_LOG_SEVERITY_INFO, 0, "Starting API example application");
printf("\n");
switch_os_revision.
pstart = switch_os_revision_string;
switch_os_revision.
size =
sizeof(switch_os_revision_string);
printf("Network OS version = %s\n", switch_os_revision_string);
else
printf("Network OS version retrieve error\n");
printf("\n");
switch (testNum)
{
case 1:
if (argc == 2)
{
getGlobalAdminMode(&clientHandle);
show_help = 0;
}
break;
case 2:
if (argc == 3)
{
getPmlInterfaceIsValid(&clientHandle, intf);
show_help = 0;
}
break;
case 3:
if (argc == 3)
{
getMode(&clientHandle, intf);
show_help = 0;
}
break;
case 4:
if (argc == 3)
{
getDynamicLimit(&clientHandle, intf);
show_help = 0;
}
break;
case 5:
if (argc == 3)
{
getStaticLimit(&clientHandle, intf);
show_help = 0;
}
break;
case 6:
if (argc == 3)
{
getViolationTrapMode(&clientHandle, intf);
show_help = 0;
}
break;
case 7:
if (argc == 3)
{
getViolationDDisableMode(&clientHandle, intf);
show_help = 0;
}
break;
case 8:
if (argc == 3)
{
getStickyMode(&clientHandle, intf);
show_help = 0;
}
break;
case 9:
if (argc == 3)
{
runNegativeTests(&clientHandle, intf);
show_help = 0;
}
break;
default:
break;
}
if (show_help == 1)
{
printAppMenu(argv[0]);
}
L7PROC_LOGF(L7PROC_LOG_SEVERITY_INFO, 0, "Stopping PML API example application");
return 0;
}