146 lines
3.3 KiB
C
146 lines
3.3 KiB
C
#include "vxWorks.h"
|
|
#include "ioLib.h"
|
|
#include "logLib.h"
|
|
#include "memLib.h"
|
|
#include "socket.h"
|
|
#include "sockLib.h"
|
|
#include "stdio.h"
|
|
#include "stdlib.h"
|
|
#include "string.h"
|
|
|
|
#include "if6Lib.h"
|
|
|
|
#include "ipcom_sock2.h"
|
|
|
|
|
|
void if6Lib_test(char *dev)
|
|
{
|
|
|
|
char addr[46],dstaddr[46];
|
|
|
|
int prefix=0,flags=0,total_count=0,failed_count=0;
|
|
Ip_time_t vltime,pltime;
|
|
|
|
memset(dstaddr,'\0',sizeof(char)*46);
|
|
memset(addr,'\0',sizeof(char)*46);
|
|
|
|
if(dev == NULL || *dev == '\0')
|
|
return;
|
|
|
|
if6LibInit();
|
|
|
|
printf("Beginning if6Lib tests... \n");
|
|
|
|
|
|
total_count++;
|
|
if(if6AddrGet(dev,addr)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6AddrGet failed for device %s \n",dev);
|
|
}
|
|
else
|
|
printf("if6AddrGet:%s \n",addr);
|
|
|
|
/*
|
|
total_count++;
|
|
if(if6DstAddrGet(dev,addr,dstaddr)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6DstAddrGet failed for device %s \n",dev);
|
|
}
|
|
else
|
|
printf("if6DstAddrGet:%s \n",dstaddr);
|
|
*/
|
|
|
|
total_count++;
|
|
if(if6PrefixlenGet(dev,addr,&prefix)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6Prefixlen failed for device %s \n",dev);
|
|
}
|
|
else
|
|
printf("if6Prefixlen:%d \n",prefix);
|
|
|
|
total_count++;
|
|
if(if6FlagGet(dev,addr,&flags)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6FlagGet failed for device %s \n",dev);
|
|
}
|
|
else
|
|
printf("if6FlagGet:%d \n",flags);
|
|
|
|
total_count++;
|
|
if(if6LifetimeGet(dev,addr,&vltime,&pltime)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6LifetimeGet failed for device %s \n",dev);
|
|
}
|
|
else
|
|
printf("if6LifetimeGet: valid:%x pref:%x \n",vltime,pltime);
|
|
|
|
total_count++;
|
|
if(if6AddrDelete(dev,addr)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6AddrDelete failed for device %s address %s\n",dev,addr);
|
|
}
|
|
else
|
|
printf("if6Delete: OK dev:%s addr:%s \n",dev,addr);
|
|
|
|
total_count++;
|
|
if(if6AddrAdd(dev,addr,prefix,flags)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6AddrAdd failed for device %s address %s\n",dev,addr);
|
|
}
|
|
else
|
|
printf("if6AddrAdd: OK dev:%s addr:%s \n",dev,addr);
|
|
|
|
total_count++;
|
|
if(if6PrefixlenSet(dev,addr,72)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6PrefixlenSet failed for device %s address %s\n len:72",dev,addr);
|
|
}
|
|
else
|
|
printf("if6PrefixlenSet: OK dev:%s addr:%s len:72 \n",dev,addr);
|
|
|
|
total_count++;
|
|
if(if6FlagSet(dev,addr,IP_IN6_IFF_ANYCAST)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6FlagSet failed for device %s address %s\n flag:0x40",dev,addr);
|
|
}
|
|
else
|
|
printf("if6PrefixlenSet: OK dev:%s addr:%s flag:0x40 \n",dev,addr);
|
|
|
|
total_count++;
|
|
if(if6FlagChange(dev,addr,IP_IN6_IFF_ANYCAST,0)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6FlagChange to OFF failed for device %s address %s\n flag:0x40",dev,addr);
|
|
}
|
|
else
|
|
printf("if6PrefixlenSet: OK. dev:%s addr:%s flag:0x40:OFF \n",dev,addr);
|
|
|
|
ifconfig(dev);
|
|
|
|
|
|
total_count++;
|
|
if(if6LifetimeSet(dev,addr,20,30)!=OK)
|
|
{
|
|
failed_count++;
|
|
printf("if6Lifetimeset failed for device %s address %s vltime 20s %pltime 30s \n",dev,addr);
|
|
}
|
|
else
|
|
printf("if6Lifetimeset: OK. dev %s address %s vltime 20s %pltime 30s \n",dev,addr);
|
|
|
|
ifconfig(dev);
|
|
|
|
|
|
printf(" Total tests: %d \n",total_count);
|
|
printf(" Failed tests: %d \n",failed_count);
|
|
printf(" Passed tests: %d \n",total_count-failed_count);
|
|
}
|