#include <stdlib.h>
#include <unistd.h>
#include "rpcclt_openapi.h"
#include "proc_util.h"
#define OPENAPI_TITLE "Static Filter"
static void printAppMenu(char *name)
{
printf("Usage: %s <test#> <arg1> <arg2> ... \n", name);
printf("Test 1: Create a MAC Static Filter: %s 1 <buf><vlanID>\n", name);
printf("Test 2: Remove a configured MAC Static Filter: %s 2 <buf><vlanID>\n", name);
printf("Test 3: Run API sanity checks: %s 3\n", name);
return;
}
{
buffDesc.
pstart = macStr;
buffDesc.
size = (OPEN_MAC_ADDR_LEN*3);
{
printf("Bad return code trying to create a MAC Static Filter. (result = %d)\n", result);
}
else
{
printf("%s mac=%s vlan=%u created. (result = %d)\n", OPENAPI_TITLE, macStr, vlanID, result);
}
return;
}
{
buffDesc.pstart = macStr;
buffDesc.size = (OPEN_MAC_ADDR_LEN*3);
{
printf("Bad return code trying to remove a configured MAC Static Filter. (result = %d)\n", result);
}
else
{
printf("%s mac=%s vlan=%u removed. (result = %d)\n", OPENAPI_TITLE, macStr, vlanID, result);
}
return;
}
{
char buffer[128];
badBufdescPointer.pstart = (void *) NULL;
badBufdescPointer.size = sizeof(buffer);
badBufdescLen.pstart = buffer;
badBufdescPointer.size = 0;
buf.pstart = buffer;
buf.size = sizeof(buffer);
zeroLenBuf.pstart = buffer;
zeroLenBuf.size = 0;
printf("Testing Static Filter OpEN APIs sanity:\n");
return;
}
int main(int argc, char **argv)
{
uint32_t testNum;
char switch_os_revision_string[100];
int show_help = 1;
if (argc < 2)
{
printAppMenu(argv[0]);
return -1;
}
testNum = atoi(argv[1]);
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 Static Filter 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 == 4)
{
filterCreate(&clientHandle, argv[2], atoi(argv[3]));
show_help = 0;
}
break;
case 2:
if (argc == 4)
{
filterRemove(&clientHandle, argv[2], atoi(argv[3]));
show_help = 0;
}
break;
case 3:
if (argc == 2)
{
runSanity(&clientHandle);
show_help = 0;
}
break;
default:
break;
}
if (show_help == 1)
{
printAppMenu(argv[0]);
}
L7PROC_LOGF(L7PROC_LOG_SEVERITY_INFO, 0, "Stopping Static Filter API example application");
return 0;
}