357 lines
14 KiB
C
357 lines
14 KiB
C
|
#define MSG_HELP_START L"%1!-14s! - "
|
||
|
#define MSG_NEWLINE _T("\n")
|
||
|
|
||
|
|
||
|
#define TOKEN_ROUTER _T("router")
|
||
|
#define TOKEN_MIB _T("mib")
|
||
|
|
||
|
// tokens for commands
|
||
|
#define TOKEN_COMMAND_ADD _T("add")
|
||
|
#define TOKEN_COMMAND_DELETE _T("delete")
|
||
|
#define TOKEN_COMMAND_SET _T("set")
|
||
|
#define TOKEN_COMMAND_SHOW _T("show")
|
||
|
#define TOKEN_COMMAND_SHOW_HELPER _T("show helper")
|
||
|
#define TOKEN_COMMAND_HELP _T("help")
|
||
|
#define TOKEN_COMMAND_INSTALL _T("install")
|
||
|
#define TOKEN_COMMAND_UNINSTALL _T("uninstall")
|
||
|
|
||
|
#define TOKEN_COMMAND_HELP1 _T("/?")
|
||
|
#define TOKEN_COMMAND_HELP2 _T("-?")
|
||
|
|
||
|
// Global option tokens used by multiple protocols
|
||
|
#define TOKEN_OPT_LOGGINGLEVEL L"loglevel"
|
||
|
|
||
|
// MSDP options
|
||
|
#define TOKEN_OPT_KEEPALIVE L"keepalive"
|
||
|
#define TOKEN_OPT_SAHOLDDOWN L"saholddown"
|
||
|
#define TOKEN_OPT_CONNECTRETRY L"connectretry"
|
||
|
#define TOKEN_OPT_LOCALADDR L"localaddr"
|
||
|
#define TOKEN_OPT_REMADDR L"remoteaddr"
|
||
|
#define TOKEN_OPT_ACCEPTALL L"acceptall"
|
||
|
#define TOKEN_OPT_CACHELIFETIME L"cachelifetime"
|
||
|
#define TOKEN_OPT_CACHING L"caching"
|
||
|
#define TOKEN_OPT_DEFAULTPEER L"defaultpeer"
|
||
|
#define TOKEN_OPT_GROUPADDR L"grpaddr"
|
||
|
#define TOKEN_OPT_SOURCEADDR L"srcaddr"
|
||
|
#define TOKEN_OPT_ENCAPSMETHOD L"encapsulation"
|
||
|
|
||
|
// interface options
|
||
|
#define TOKEN_OPT_INTERFACE_NAME _T("NAME")
|
||
|
#define TOKEN_OPT_INTERFACE_STATUS _T("STATE")
|
||
|
#define TOKEN_OPT_DISCOVERY _T("DISC")
|
||
|
#define TOKEN_OPT_MIN_DISC_INTERVAL _T("MININT")
|
||
|
#define TOKEN_OPT_MAX_DISC_INTERVAL _T("MAXINT")
|
||
|
#define TOKEN_OPT_LIFETIME _T("LIFE")
|
||
|
#define TOKEN_OPT_LEVEL _T("LEVEL")
|
||
|
#define TOKEN_OPT_TTL _T("TTL")
|
||
|
|
||
|
// protocol options
|
||
|
#define TOKEN_OPT_SERVER _T("SERVER")
|
||
|
#define TOKEN_OPT_LOG_LEVEL _T("LOGLEVEL")
|
||
|
#define TOKEN_OPT_AUTHENTICATION _T("AUTH")
|
||
|
#define TOKEN_OPT_PASSWORD _T("PASSWORD")
|
||
|
#define TOKEN_OPT_PEER_MODE _T("PEERMODE")
|
||
|
|
||
|
// VRRP Interface options
|
||
|
#define TOKEN_OPT_NAME _T("NAME=")
|
||
|
#define TOKEN_OPT_VRID _T("VRID=")
|
||
|
#define TOKEN_OPT_IPADDRESS _T("IPADDR=")
|
||
|
#define TOKEN_OPT_AUTH _T("AUTH=")
|
||
|
#define TOKEN_OPT_PASSWD _T("PASSWD=")
|
||
|
#define TOKEN_OPT_ADVTINTERVAL _T("ADVTINTERVAL=")
|
||
|
#define TOKEN_OPT_PRIO _T("PRIORITY=")
|
||
|
#define TOKEN_OPT_PREEMPT _T("PREEMPT=")
|
||
|
|
||
|
// Route Options
|
||
|
#define TOKEN_OPT_NEXT_HOP _T("NEXTHOP=")
|
||
|
|
||
|
// overloaded options
|
||
|
#define TOKEN_OPT_TYPE _T("TYPE")
|
||
|
#define TOKEN_OPT_METRIC _T("METRIC")
|
||
|
#define TOKEN_OPT_PROTOCOL _T("PROTO")
|
||
|
#define TOKEN_OPT_PREF_LEVEL _T("PREFLEVEL")
|
||
|
|
||
|
// Miscellaneous options
|
||
|
#define TOKEN_OPT_INDEX _T("INDEX=")
|
||
|
#define TOKEN_OPT_HELP1 _T("/?")
|
||
|
#define TOKEN_OPT_HELP2 _T("-?")
|
||
|
#define TOKEN_OPT_GLOBAL _T("GLOBAL")
|
||
|
|
||
|
|
||
|
// Option values
|
||
|
// Interface types
|
||
|
#define TOKEN_OPT_VALUE_LAN _T("LAN")
|
||
|
#define TOKEN_OPT_VALUE_WAN _T("WAN")
|
||
|
|
||
|
// Router types
|
||
|
#define TOKEN_OPT_VALUE_CLIENT _T("CLIENT")
|
||
|
#define TOKEN_OPT_VALUE_HOME _T("HOME")
|
||
|
#define TOKEN_OPT_VALUE_FULL _T("FULL")
|
||
|
#define TOKEN_OPT_VALUE_DEDICATED _T("DEDICATED")
|
||
|
#define TOKEN_OPT_VALUE_INTERNAL _T("INTERNAL")
|
||
|
|
||
|
// Protocol types
|
||
|
#define TOKEN_OPT_VALUE_RTRMGR _T("ROUTERMANAGER")
|
||
|
#define TOKEN_OPT_VALUE_RIP _T("RIP")
|
||
|
#define TOKEN_OPT_VALUE_OSPF _T("OSPF")
|
||
|
#define TOKEN_OPT_VALUE_BOOTP _T("BOOTP")
|
||
|
#define TOKEN_OPT_VALUE_IGMP _T("IGMP")
|
||
|
#define TOKEN_OPT_VALUE_AUTO_DHCP _T("AUTODHCP")
|
||
|
#define TOKEN_OPT_VALUE_DNS_PROXY _T("DNSPROXY")
|
||
|
#define TOKEN_OPT_VALUE_VRRP _T("VRRP")
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_TCP _T("TCP")
|
||
|
#define TOKEN_OPT_VALUE_UDP _T("UDP")
|
||
|
#define TOKEN_OPT_VALUE_ICMP _T("ICMP")
|
||
|
#define TOKEN_OPT_VALUE_NETMGMT _T("SNMP")
|
||
|
#define TOKEN_OPT_VALUE_LOCAL _T("LOCAL")
|
||
|
#define TOKEN_OPT_VALUE_STATIC _T("STATIC")
|
||
|
#define TOKEN_OPT_VALUE_AUTOSTATIC _T("AUTOSTATIC")
|
||
|
#define TOKEN_OPT_VALUE_NONDOD _T("NONDOD")
|
||
|
#define TOKEN_OPT_VALUE_ANY _T("ANY")
|
||
|
|
||
|
|
||
|
// Igmp protocol types
|
||
|
#define TOKEN_OPT_VALUE_IGMPRTRV1 _T("IGMPRTRV1")
|
||
|
#define TOKEN_OPT_VALUE_IGMPRTRV2 _T("IGMPRTRV2")
|
||
|
#define TOKEN_OPT_VALUE_IGMPPROXY _T("IGMPPROXY")
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_TRUE _T("TRUE")
|
||
|
#define TOKEN_OPT_VALUE_FALSE _T("FALSE")
|
||
|
#define TOKEN_OPT_VALUE_HOST_JOIN _T("HOSTJOIN")
|
||
|
#define TOKEN_OPT_VALUE_MGM_ONLY_JOIN _T("MGMONLYJOIN")
|
||
|
|
||
|
|
||
|
// Accept/Announce types
|
||
|
#define TOKEN_OPT_VALUE_RIP1 _T("RIP1")
|
||
|
#define TOKEN_OPT_VALUE_RIP1_COMPAT _T("RIP1COMPAT")
|
||
|
#define TOKEN_OPT_VALUE_RIP2 _T("RIP2")
|
||
|
|
||
|
// log level types
|
||
|
#define TOKEN_OPT_VALUE_ERROR _T("ERROR")
|
||
|
#define TOKEN_OPT_VALUE_WARN _T("WARN")
|
||
|
#define TOKEN_OPT_VALUE_INFO _T("INFO")
|
||
|
|
||
|
// unicast peer modes
|
||
|
#define TOKEN_OPT_VALUE_ALSO _T("ALSO")
|
||
|
#define TOKEN_OPT_VALUE_ONLY _T("ONLY")
|
||
|
|
||
|
// filter modes
|
||
|
#define TOKEN_OPT_VALUE_INCLUDE _T("INCLUDE")
|
||
|
#define TOKEN_OPT_VALUE_EXCLUDE _T("EXCLUDE")
|
||
|
|
||
|
// Misc. option vlues
|
||
|
#define TOKEN_OPT_VALUE_INPUT _T("INPUT")
|
||
|
#define TOKEN_OPT_VALUE_OUTPUT _T("OUTPUT")
|
||
|
#define TOKEN_OPT_VALUE_DIAL _T("DIAL")
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_ENABLE L"enable"
|
||
|
#define TOKEN_OPT_VALUE_DISABLE L"disable"
|
||
|
#define TOKEN_OPT_VALUE_DEFAULT L"default"
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_YES _T("YES")
|
||
|
#define TOKEN_OPT_VALUE_NO _T("NO")
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_NONE _T("NONE")
|
||
|
#define TOKEN_OPT_VALUE_PASSWORD _T("PASSWORD")
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_DROP _T("DROP")
|
||
|
#define TOKEN_OPT_VALUE_FORWARD _T("FORWARD")
|
||
|
#define TOKEN_OPT_VALUE_ACCEPT _T("ACCEPT")
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_DEMAND _T("DEMAND")
|
||
|
#define TOKEN_OPT_VALUE_PERIODIC _T("PERIODIC")
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_NBMA _T("NBMA")
|
||
|
#define TOKEN_OPT_VALUE_POINT_TO_POINT _T("P2P")
|
||
|
#define TOKEN_OPT_VALUE_BROADCAST _T("BROADCAST")
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_ADDRESSONLY _T("ADDRESSONLY")
|
||
|
#define TOKEN_OPT_VALUE_PRIVATE _T("PRIVATE")
|
||
|
|
||
|
#define TOKEN_OPT_VALUE_AUTH_NONE _T("NONE")
|
||
|
#define TOKEN_OPT_VALUE_AUTH_SIMPLE_PASSWORD _T("SIMPLEPASSWD")
|
||
|
#define TOKEN_OPT_VALUE_AUTH_MD5 _T("MD5")
|
||
|
|
||
|
// Commands for configuring the various protocols
|
||
|
|
||
|
// tokens for commands required by most protocols
|
||
|
|
||
|
#define CMD_GROUP_ADD _T("add")
|
||
|
#define CMD_GROUP_DELETE _T("delete")
|
||
|
#define CMD_GROUP_SET _T("set")
|
||
|
#define CMD_GROUP_SHOW _T("show")
|
||
|
|
||
|
#define CMD_SHOW_HELPER _T("show helper")
|
||
|
#define CMD_INSTALL _T("install")
|
||
|
#define CMD_UNINSTALL _T("uninstall")
|
||
|
#define CMD_DUMP _T("dump")
|
||
|
#define CMD_HELP1 _T("help")
|
||
|
#define CMD_HELP2 _T("?")
|
||
|
#define CMD_MIB _T("mib")
|
||
|
#define CMD_ADD_HELPER _T("add helper")
|
||
|
#define CMD_DEL_HELPER _T("delete helper")
|
||
|
|
||
|
// VRRP commands
|
||
|
#define CMD_VRRP_ADD_INTERFACE L"add interface"
|
||
|
#define CMD_VRRP_ADD_VRID L"add VRID"
|
||
|
#define CMD_VRRP_DELETE_INTERFACE L"delete interface"
|
||
|
#define CMD_VRRP_DELETE_VRID L"delete VRID"
|
||
|
#define CMD_VRRP_SET_GLOBAL L"set global"
|
||
|
#define CMD_VRRP_SET_INTERFACE L"set interface"
|
||
|
#define CMD_VRRP_SHOW_GLOBAL L"show global"
|
||
|
#define CMD_VRRP_SHOW_INTERFACE L"show interface"
|
||
|
|
||
|
// MSDP commands
|
||
|
#define CMD_MSDP_ADD_PEER L"add peer"
|
||
|
#define CMD_MSDP_DELETE_PEER L"delete peer"
|
||
|
#define CMD_MSDP_SET_PEER L"set peer"
|
||
|
#define CMD_MSDP_SHOW_PEER L"show peer"
|
||
|
#define CMD_MSDP_SHOW_PEERSTATS L"show peerstats"
|
||
|
#define CMD_MSDP_SET_GLOBAL L"set global"
|
||
|
#define CMD_MSDP_SHOW_GLOBAL L"show global"
|
||
|
#define CMD_MSDP_SHOW_GLOBALSTATS L"show globalstats"
|
||
|
#define CMD_MSDP_SHOW_SA L"show sa"
|
||
|
|
||
|
// Tokens for MSDP MIB
|
||
|
#define TOKEN_MSDP_MIB_OBJECT_PEERSTATS L"peerstats"
|
||
|
#define TOKEN_MSDP_MIB_OBJECT_GLOBALSTATS L"globalstats"
|
||
|
#define TOKEN_MSDP_MIB_OBJECT_SA L"sa"
|
||
|
|
||
|
// Common dump commands
|
||
|
|
||
|
#define DMP_POPD L"popd\n"
|
||
|
#define DMP_INSTALL L"install\n"
|
||
|
#define DMP_UNINSTALL L"uninstall\n"
|
||
|
|
||
|
// MSDP commands
|
||
|
|
||
|
#define DMP_MSDP_PUSHD L"pushd routing ip msdp\n"
|
||
|
#define DMP_MSDP_SET_GLOBAL L"set global"
|
||
|
#define DMP_MSDP_ADD_PEER L"add peer"
|
||
|
#define DMP_MSDP_STRING_ARGUMENT L" %1!s!=%2!s!"
|
||
|
#define DMP_MSDP_INTEGER_ARGUMENT L" %1!s!=%2!d!"
|
||
|
|
||
|
// VRRP commands
|
||
|
//
|
||
|
#define DMP_VRRP_INSTALL _T("\
|
||
|
install\n")
|
||
|
|
||
|
#define DMP_VRRP_PUSHD L"\
|
||
|
pushd routing ip vrrp\n"
|
||
|
|
||
|
#define DMP_VRRP_SET_GLOBAL _T("\
|
||
|
set global %1!s!=%2!s!\n")
|
||
|
|
||
|
#define DMP_VRRP_ADD_INTERFACE _T("\
|
||
|
add interface %1!s!\"%2!s!\"\n")
|
||
|
|
||
|
#define DMP_VRRP_ADD_VRID _T("\
|
||
|
add vrid %1!s!\"%2!s!\" %3!s!%4!d! %5!s!%6!s!\n")
|
||
|
|
||
|
#define DMP_VRRP_SET_INTERFACE _T("\
|
||
|
set interface \
|
||
|
%1!s!\"%2!s!\" \
|
||
|
%3!s!%4!d! \
|
||
|
%5!s!%6!s! \
|
||
|
%7!s!%8!d!-%9!d!-%10!d!-%11!d!-%12!d!-%13!d!-%14!d!-%15!d! \
|
||
|
%16!s!%17!d! \
|
||
|
%18!s!%19!d! \
|
||
|
%20!s!%21!s! \n")
|
||
|
|
||
|
#define DMP_VRRP_UNINSTALL _T("\
|
||
|
uninstall\n")
|
||
|
|
||
|
// Ospf dump commands
|
||
|
|
||
|
#define DMP_OSPF_PUSHD L"\
|
||
|
pushd ip ospf\n"
|
||
|
|
||
|
#define DMP_OSPF_INSTALL _T("\
|
||
|
install\n")
|
||
|
|
||
|
#define DMP_OSPF_UNINSTALL _T("\
|
||
|
uninstall\n")
|
||
|
|
||
|
#define DMP_OSPF_SET_GLOBAL _T("\
|
||
|
set global routerid=%1!s! asborder=%2!d! loglevel=%3!s!\n\n")
|
||
|
|
||
|
#define DMP_OSPF_DELETE_INTERFACE _T("\
|
||
|
delete interface name=%1!s!\n")
|
||
|
|
||
|
#define DMP_OSPF_ADD_INTERFACE _T("\
|
||
|
add interface name=%1!s!\n")
|
||
|
|
||
|
#define DMP_OSPF_SET_INTERFACE _T("\
|
||
|
set interface name=%1!s!\
|
||
|
ifaddr=%2!s!\
|
||
|
ifmask=%3!s!\
|
||
|
iftype=%4!s!\
|
||
|
prio=%5!d!\
|
||
|
transdelay=%6!d!\
|
||
|
retrans=%7!d!\
|
||
|
hello=%8!d!\
|
||
|
dead=%9!d!\
|
||
|
poll=%10!d!\
|
||
|
metric=%11!d!\
|
||
|
password=%12!s!\
|
||
|
mtu=%13!d!\n\n")
|
||
|
|
||
|
#define DMP_OSPF_ADD_AREA _T("\
|
||
|
add area areaid=%1!s!\n\n")
|
||
|
|
||
|
#define DMP_OSPF_DELETE_AREA _T("\
|
||
|
delete area areaid=%1!s!\n")
|
||
|
|
||
|
#define DMP_OSPF_SET_AREA _T("\
|
||
|
set area areaid=%1!s!\
|
||
|
auth=%2!s!\
|
||
|
importas=%3!s!\
|
||
|
metric=%4!d!\
|
||
|
sumad=%5!s!\n\n")
|
||
|
|
||
|
#define DMP_OSPF_ADD_NEIGHBOR _T("\
|
||
|
add neighbor name=%1!s! ifaddr=%2!s! nbraddr=%3!s! nbrprio=%4!d!\n")
|
||
|
|
||
|
#define DMP_OSPF_DELETE_NEIGHBOR _T("\
|
||
|
delete neighbor name=%1!s! ifaddr=%2!s! nbraddr=%3!s!\n")
|
||
|
|
||
|
#define DMP_OSPF_ADD_VIRTUAL_INTERFACE _T("\
|
||
|
add neighbor name=%1!s! ifaddr=%2!s! nbraddr=%3!s!\n")
|
||
|
|
||
|
#define DMP_OSPF_DELETE_VIRTUAL_INTERFACE _T("\
|
||
|
delete virtif transareaid=%1!s! virtnbrid=%2!s!\n")
|
||
|
|
||
|
#define DMP_OSPF_SET_VIRTUAL_INTERFACE _T("\
|
||
|
set virtif transareaid=%1!s! virtnbrid=%2!s!\
|
||
|
transdelay=%3!d! retrans=%4!d! hello=%5!d!\
|
||
|
dead=%6!d! password=%7!s!\n")
|
||
|
|
||
|
// Ospf hlp commands
|
||
|
|
||
|
#define CMD_OSPF_ADD_AREA_RANGE _T("add range")
|
||
|
#define CMD_OSPF_ADD_AREA _T("add area")
|
||
|
#define CMD_OSPF_ADD_VIRTIF _T("add virtif")
|
||
|
#define CMD_OSPF_ADD_IF_NBR _T("add neighbor")
|
||
|
#define CMD_OSPF_ADD_IF _T("add interface")
|
||
|
#define CMD_OSPF_ADD _T("add")
|
||
|
|
||
|
#define CMD_OSPF_DEL_AREA_RANGE _T("delete range")
|
||
|
#define CMD_OSPF_DEL_AREA _T("delete area")
|
||
|
#define CMD_OSPF_DEL_VIRTIF _T("delete virtif")
|
||
|
#define CMD_OSPF_DEL_IF_NBR _T("delete neighbor")
|
||
|
#define CMD_OSPF_DEL_IF _T("delete interface")
|
||
|
#define CMD_OSPF_DEL _T("delete")
|
||
|
|
||
|
#define CMD_OSPF_SET_AREA _T("set area")
|
||
|
#define CMD_OSPF_SET_VIRTIF _T("set virtif")
|
||
|
#define CMD_OSPF_SET_IF _T("set interface")
|
||
|
#define CMD_OSPF_SET_GLOBAL _T("set global")
|
||
|
|
||
|
#define CMD_OSPF_SHOW_GLOBAL _T("show global")
|
||
|
#define CMD_OSPF_SHOW_AREA _T("show area")
|
||
|
#define CMD_OSPF_SHOW_VIRTIF _T("show virtif")
|
||
|
#define CMD_OSPF_SHOW_IF _T("show interface")
|
||
|
#define CMD_OSPF_SHOW _T("show")
|
||
|
|