forest-net
an overlay networks for large-scale virtual worlds
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
forest::CtlPkt Class Reference

This class provides a mechanism for handling forest signalling packets. More...

#include <CtlPkt.h>

Collaboration diagram for forest::CtlPkt:

Public Types

enum  CpType {
  UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51,
  GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55,
  MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58, ADD_ROUTE = 70,
  DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73, ADD_ROUTE_LINK = 74,
  DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80, DROP_FILTER = 81,
  GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84, GET_LOGGED_PACKETS = 85,
  ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101,
  CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120,
  BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123, COMTREE_PATH = 130,
  ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133, PRUNE = 134,
  ADD_NODE = 135, DROP_NODE = 136, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_LINK_SET = 44,
  NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102,
  SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121,
  BOOT_ABORT = 122, BOOT_LEAF = 123, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, COMTREE_NEW_LEAF = 131, COMTREE_ADD_BRANCH = 132, ADD_BRANCH_CONFIRM = 133,
  COMTREE_PRUNE = 134, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10, CLIENT_DROP_COMTREE = 11,
  CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14, CLIENT_LEAVE_COMTREE = 15,
  CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42, MOD_LINK = 43,
  GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, NEW_SESSION = 100,
  CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110,
  CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122,
  BOOT_LEAF = 123, UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133,
  PRUNE = 134, ADD_NODE = 135, DROP_NODE = 136
}
 Control packet types.
 
enum  CpAttr {
  UNDEF_ATTR = 0, s16 = 1, u16 =2, s32 = 3,
  u32 =4, s64 = 5, u64 =6, rateSpec = 7,
  attrString = 8, intVec = 9, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, LINKTABLE = 73, LINKSET = 74,
  FIRST_LINK_NUM = 75, NUM_OF_LINK = 76, NEXT_LINK_NUM = 78, ERRMSG = 100,
  UNDEF_ATTR = 0, ADR1 = 1, ADR2 = 2, ADR3 = 3,
  IP1 = 5, IP2 = 6, PORT1 = 9, PORT2 = 10,
  RSPEC1 = 13, RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20,
  IFACE = 21, LINK = 22, NODE_TYPE = 23, COMTREE = 50,
  COMTREE_OWNER = 51, INDEX1 = 60, INDEX2 = 61, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, ERRMSG = 100, STRING = 101,
  RAWBUF = 102, INTVEC = 103, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, INDEX1 = 60,
  INDEX2 = 61, COUNT = 70, QUEUE = 71, ZIPCODE = 72,
  ERRMSG = 100, STRING = 101, RAWBUF = 102, UNDEF_ATTR = 0,
  ADR1 = 1, ADR2 = 2, ADR3 = 3, IP1 = 5,
  IP2 = 6, PORT1 = 9, PORT2 = 10, RSPEC1 = 13,
  RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20, IFACE = 21,
  LINK = 22, NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51,
  INDEX1 = 60, INDEX2 = 61, COUNT = 70, QUEUE = 71,
  ZIPCODE = 72, ERRMSG = 100, STRING = 101, RAWBUF = 102,
  INTVEC = 103
}
 
enum  CpMode {
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3
}
 Control packet modes.
 
enum  CpType {
  UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51,
  GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55,
  MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58, ADD_ROUTE = 70,
  DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73, ADD_ROUTE_LINK = 74,
  DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80, DROP_FILTER = 81,
  GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84, GET_LOGGED_PACKETS = 85,
  ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101,
  CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120,
  BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123, COMTREE_PATH = 130,
  ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133, PRUNE = 134,
  ADD_NODE = 135, DROP_NODE = 136, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_LINK_SET = 44,
  NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102,
  SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121,
  BOOT_ABORT = 122, BOOT_LEAF = 123, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, COMTREE_NEW_LEAF = 131, COMTREE_ADD_BRANCH = 132, ADD_BRANCH_CONFIRM = 133,
  COMTREE_PRUNE = 134, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10, CLIENT_DROP_COMTREE = 11,
  CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14, CLIENT_LEAVE_COMTREE = 15,
  CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42, MOD_LINK = 43,
  GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, NEW_SESSION = 100,
  CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110,
  CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122,
  BOOT_LEAF = 123, UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133,
  PRUNE = 134, ADD_NODE = 135, DROP_NODE = 136
}
 Control packet types.
 
enum  CpAttr {
  UNDEF_ATTR = 0, s16 = 1, u16 =2, s32 = 3,
  u32 =4, s64 = 5, u64 =6, rateSpec = 7,
  attrString = 8, intVec = 9, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, LINKTABLE = 73, LINKSET = 74,
  FIRST_LINK_NUM = 75, NUM_OF_LINK = 76, NEXT_LINK_NUM = 78, ERRMSG = 100,
  UNDEF_ATTR = 0, ADR1 = 1, ADR2 = 2, ADR3 = 3,
  IP1 = 5, IP2 = 6, PORT1 = 9, PORT2 = 10,
  RSPEC1 = 13, RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20,
  IFACE = 21, LINK = 22, NODE_TYPE = 23, COMTREE = 50,
  COMTREE_OWNER = 51, INDEX1 = 60, INDEX2 = 61, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, ERRMSG = 100, STRING = 101,
  RAWBUF = 102, INTVEC = 103, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, INDEX1 = 60,
  INDEX2 = 61, COUNT = 70, QUEUE = 71, ZIPCODE = 72,
  ERRMSG = 100, STRING = 101, RAWBUF = 102, UNDEF_ATTR = 0,
  ADR1 = 1, ADR2 = 2, ADR3 = 3, IP1 = 5,
  IP2 = 6, PORT1 = 9, PORT2 = 10, RSPEC1 = 13,
  RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20, IFACE = 21,
  LINK = 22, NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51,
  INDEX1 = 60, INDEX2 = 61, COUNT = 70, QUEUE = 71,
  ZIPCODE = 72, ERRMSG = 100, STRING = 101, RAWBUF = 102,
  INTVEC = 103
}
 
enum  CpMode {
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3
}
 Control packet modes.
 
enum  CpType {
  UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51,
  GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55,
  MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58, ADD_ROUTE = 70,
  DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73, ADD_ROUTE_LINK = 74,
  DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80, DROP_FILTER = 81,
  GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84, GET_LOGGED_PACKETS = 85,
  ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101,
  CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120,
  BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123, COMTREE_PATH = 130,
  ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133, PRUNE = 134,
  ADD_NODE = 135, DROP_NODE = 136, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_LINK_SET = 44,
  NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102,
  SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121,
  BOOT_ABORT = 122, BOOT_LEAF = 123, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, COMTREE_NEW_LEAF = 131, COMTREE_ADD_BRANCH = 132, ADD_BRANCH_CONFIRM = 133,
  COMTREE_PRUNE = 134, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10, CLIENT_DROP_COMTREE = 11,
  CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14, CLIENT_LEAVE_COMTREE = 15,
  CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42, MOD_LINK = 43,
  GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, NEW_SESSION = 100,
  CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110,
  CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122,
  BOOT_LEAF = 123, UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133,
  PRUNE = 134, ADD_NODE = 135, DROP_NODE = 136
}
 Control packet types.
 
enum  CpAttr {
  UNDEF_ATTR = 0, s16 = 1, u16 =2, s32 = 3,
  u32 =4, s64 = 5, u64 =6, rateSpec = 7,
  attrString = 8, intVec = 9, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, LINKTABLE = 73, LINKSET = 74,
  FIRST_LINK_NUM = 75, NUM_OF_LINK = 76, NEXT_LINK_NUM = 78, ERRMSG = 100,
  UNDEF_ATTR = 0, ADR1 = 1, ADR2 = 2, ADR3 = 3,
  IP1 = 5, IP2 = 6, PORT1 = 9, PORT2 = 10,
  RSPEC1 = 13, RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20,
  IFACE = 21, LINK = 22, NODE_TYPE = 23, COMTREE = 50,
  COMTREE_OWNER = 51, INDEX1 = 60, INDEX2 = 61, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, ERRMSG = 100, STRING = 101,
  RAWBUF = 102, INTVEC = 103, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, INDEX1 = 60,
  INDEX2 = 61, COUNT = 70, QUEUE = 71, ZIPCODE = 72,
  ERRMSG = 100, STRING = 101, RAWBUF = 102, UNDEF_ATTR = 0,
  ADR1 = 1, ADR2 = 2, ADR3 = 3, IP1 = 5,
  IP2 = 6, PORT1 = 9, PORT2 = 10, RSPEC1 = 13,
  RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20, IFACE = 21,
  LINK = 22, NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51,
  INDEX1 = 60, INDEX2 = 61, COUNT = 70, QUEUE = 71,
  ZIPCODE = 72, ERRMSG = 100, STRING = 101, RAWBUF = 102,
  INTVEC = 103
}
 
enum  CpMode {
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3
}
 Control packet modes.
 
enum  CpType {
  UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51,
  GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55,
  MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58, ADD_ROUTE = 70,
  DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73, ADD_ROUTE_LINK = 74,
  DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80, DROP_FILTER = 81,
  GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84, GET_LOGGED_PACKETS = 85,
  ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101,
  CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120,
  BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123, COMTREE_PATH = 130,
  ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133, PRUNE = 134,
  ADD_NODE = 135, DROP_NODE = 136, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_LINK_SET = 44,
  NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102,
  SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121,
  BOOT_ABORT = 122, BOOT_LEAF = 123, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, COMTREE_NEW_LEAF = 131, COMTREE_ADD_BRANCH = 132, ADD_BRANCH_CONFIRM = 133,
  COMTREE_PRUNE = 134, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10, CLIENT_DROP_COMTREE = 11,
  CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14, CLIENT_LEAVE_COMTREE = 15,
  CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42, MOD_LINK = 43,
  GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, NEW_SESSION = 100,
  CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110,
  CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122,
  BOOT_LEAF = 123, UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133,
  PRUNE = 134, ADD_NODE = 135, DROP_NODE = 136
}
 Control packet types.
 
enum  CpAttr {
  UNDEF_ATTR = 0, s16 = 1, u16 =2, s32 = 3,
  u32 =4, s64 = 5, u64 =6, rateSpec = 7,
  attrString = 8, intVec = 9, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, LINKTABLE = 73, LINKSET = 74,
  FIRST_LINK_NUM = 75, NUM_OF_LINK = 76, NEXT_LINK_NUM = 78, ERRMSG = 100,
  UNDEF_ATTR = 0, ADR1 = 1, ADR2 = 2, ADR3 = 3,
  IP1 = 5, IP2 = 6, PORT1 = 9, PORT2 = 10,
  RSPEC1 = 13, RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20,
  IFACE = 21, LINK = 22, NODE_TYPE = 23, COMTREE = 50,
  COMTREE_OWNER = 51, INDEX1 = 60, INDEX2 = 61, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, ERRMSG = 100, STRING = 101,
  RAWBUF = 102, INTVEC = 103, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, INDEX1 = 60,
  INDEX2 = 61, COUNT = 70, QUEUE = 71, ZIPCODE = 72,
  ERRMSG = 100, STRING = 101, RAWBUF = 102, UNDEF_ATTR = 0,
  ADR1 = 1, ADR2 = 2, ADR3 = 3, IP1 = 5,
  IP2 = 6, PORT1 = 9, PORT2 = 10, RSPEC1 = 13,
  RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20, IFACE = 21,
  LINK = 22, NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51,
  INDEX1 = 60, INDEX2 = 61, COUNT = 70, QUEUE = 71,
  ZIPCODE = 72, ERRMSG = 100, STRING = 101, RAWBUF = 102,
  INTVEC = 103
}
 
enum  CpMode {
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3
}
 Control packet modes.
 
enum  CpType {
  UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51,
  GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55,
  MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58, ADD_ROUTE = 70,
  DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73, ADD_ROUTE_LINK = 74,
  DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80, DROP_FILTER = 81,
  GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84, GET_LOGGED_PACKETS = 85,
  ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101,
  CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120,
  BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123, COMTREE_PATH = 130,
  ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133, PRUNE = 134,
  ADD_NODE = 135, DROP_NODE = 136, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42,
  MOD_LINK = 43, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_LINK_SET = 44,
  NEW_SESSION = 100, CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102,
  SET_LEAF_RANGE = 110, CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121,
  BOOT_ABORT = 122, BOOT_LEAF = 123, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10,
  CLIENT_DROP_COMTREE = 11, CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14,
  CLIENT_LEAVE_COMTREE = 15, CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, COMTREE_NEW_LEAF = 131, COMTREE_ADD_BRANCH = 132, ADD_BRANCH_CONFIRM = 133,
  COMTREE_PRUNE = 134, UNDEF_CPTYPE = 0, CLIENT_ADD_COMTREE = 10, CLIENT_DROP_COMTREE = 11,
  CLIENT_GET_COMTREE = 12, CLIENT_MOD_COMTREE = 13, CLIENT_JOIN_COMTREE = 14, CLIENT_LEAVE_COMTREE = 15,
  CLIENT_RESIZE_COMTREE = 16, CLIENT_GET_LEAF_RATE = 17, CLIENT_MOD_LEAF_RATE = 18, CLIENT_NET_SIG_SEP = 29,
  ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32, MOD_IFACE = 33,
  ADD_LINK = 40, DROP_LINK = 41, GET_LINK = 42, MOD_LINK = 43,
  GET_LINK_SET = 44, ADD_COMTREE = 50, DROP_COMTREE = 51, GET_COMTREE = 52,
  MOD_COMTREE = 53, ADD_COMTREE_LINK = 54, DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56,
  GET_COMTREE_LINK = 57, ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72,
  MOD_ROUTE = 73, ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, NEW_SESSION = 100,
  CANCEL_SESSION = 103, CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110,
  CONFIG_LEAF = 111, BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122,
  BOOT_LEAF = 123, UNDEF_CPTYPE = 0, JOIN_COMTREE = 10, LEAVE_COMTREE = 11,
  CLIENT_NET_SIG_SEP = 29, ADD_IFACE = 30, DROP_IFACE = 31, GET_IFACE = 32,
  MOD_IFACE = 33, GET_IFACE_SET = 34, ADD_LINK = 40, DROP_LINK = 41,
  GET_LINK = 42, MOD_LINK = 43, GET_LINK_SET = 44, ADD_COMTREE = 50,
  DROP_COMTREE = 51, GET_COMTREE = 52, MOD_COMTREE = 53, ADD_COMTREE_LINK = 54,
  DROP_COMTREE_LINK = 55, MOD_COMTREE_LINK = 56, GET_COMTREE_LINK = 57, GET_COMTREE_SET = 58,
  ADD_ROUTE = 70, DROP_ROUTE = 71, GET_ROUTE = 72, MOD_ROUTE = 73,
  ADD_ROUTE_LINK = 74, DROP_ROUTE_LINK = 75, GET_ROUTE_SET = 76, ADD_FILTER = 80,
  DROP_FILTER = 81, GET_FILTER = 82, MOD_FILTER = 83, GET_FILTER_SET = 84,
  GET_LOGGED_PACKETS = 85, ENABLE_PACKET_LOG = 86, NEW_SESSION = 100, CANCEL_SESSION = 103,
  CLIENT_CONNECT = 101, CLIENT_DISCONNECT = 102, SET_LEAF_RANGE = 110, CONFIG_LEAF = 111,
  BOOT_ROUTER = 120, BOOT_COMPLETE = 121, BOOT_ABORT = 122, BOOT_LEAF = 123,
  COMTREE_PATH = 130, ADD_BRANCH = 131, CONFIRM = 132, ABORT = 133,
  PRUNE = 134, ADD_NODE = 135, DROP_NODE = 136
}
 Control packet types.
 
enum  CpAttr {
  UNDEF_ATTR = 0, s16 = 1, u16 =2, s32 = 3,
  u32 =4, s64 = 5, u64 =6, rateSpec = 7,
  attrString = 8, intVec = 9, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, LINKTABLE = 73, LINKSET = 74,
  FIRST_LINK_NUM = 75, NUM_OF_LINK = 76, NEXT_LINK_NUM = 78, ERRMSG = 100,
  UNDEF_ATTR = 0, ADR1 = 1, ADR2 = 2, ADR3 = 3,
  IP1 = 5, IP2 = 6, PORT1 = 9, PORT2 = 10,
  RSPEC1 = 13, RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20,
  IFACE = 21, LINK = 22, NODE_TYPE = 23, COMTREE = 50,
  COMTREE_OWNER = 51, INDEX1 = 60, INDEX2 = 61, COUNT = 70,
  QUEUE = 71, ZIPCODE = 72, ERRMSG = 100, STRING = 101,
  RAWBUF = 102, INTVEC = 103, UNDEF_ATTR = 0, ADR1 = 1,
  ADR2 = 2, ADR3 = 3, IP1 = 5, IP2 = 6,
  PORT1 = 9, PORT2 = 10, RSPEC1 = 13, RSPEC2 = 14,
  NONCE = 17, CORE_FLAG = 20, IFACE = 21, LINK = 22,
  NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51, INDEX1 = 60,
  INDEX2 = 61, COUNT = 70, QUEUE = 71, ZIPCODE = 72,
  ERRMSG = 100, STRING = 101, RAWBUF = 102, UNDEF_ATTR = 0,
  ADR1 = 1, ADR2 = 2, ADR3 = 3, IP1 = 5,
  IP2 = 6, PORT1 = 9, PORT2 = 10, RSPEC1 = 13,
  RSPEC2 = 14, NONCE = 17, CORE_FLAG = 20, IFACE = 21,
  LINK = 22, NODE_TYPE = 23, COMTREE = 50, COMTREE_OWNER = 51,
  INDEX1 = 60, INDEX2 = 61, COUNT = 70, QUEUE = 71,
  ZIPCODE = 72, ERRMSG = 100, STRING = 101, RAWBUF = 102,
  INTVEC = 103
}
 
enum  CpMode {
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3,
  UNDEF_MODE = 0, REQUEST = 1, POS_REPLY = 2, NEG_REPLY = 3
}
 Control packet modes.
 

Public Member Functions

 CtlPkt ()
 Constructor for CtlPkt with no initialization. More...
 
 CtlPkt (const Packet &)
 Construct a new control packet from the payload of a packet. More...
 
 ~CtlPkt ()
 Destructor for CtlPkt. More...
 
void reset ()
 Clears CtlPkt fields for re-use with a new buffer.
 
void reset (const Packet &)
 Reset control packet, from a given packet's payload. More...
 
void put (int16_t)
 Add an (attribute, length, value) tuple to the packet. More...
 
void put (uint16_t)
 Add an (attribute, length, value) tuple to the packet. More...
 
void put (int32_t)
 Add an (attribute, length, value) tuple to the packet. More...
 
void put (uint32_t)
 Add an (attribute, length, value) tuple to the packet. More...
 
void put (int64_t)
 Add an (attribute, length, value) tuple to the packet. More...
 
void put (uint64_t)
 Add an (attribute, length, value) tuple to the packet. More...
 
void put (Forest::ntyp_t)
 Add an (attribute, length, value) tuple to the packet. More...
 
void put (const RateSpec &)
 Add an (attribute, length, value) tuple to the packet. More...
 
void put (const string &)
 Add an (attribute, length, value) tuple to the packet. More...
 
void put (const vector< int32_t > &)
 Add an (attribute, length, value) tuple to the packet. More...
 
int availSpace ()
 Determine how much space is available for the next attribute. More...
 
bool get (int16_t &)
 Get an (attribute, length, value) tuple from the packet. More...
 
bool get (uint16_t &)
 Get an (attribute, length, value) tuple from the packet. More...
 
bool get (int32_t &)
 Get an (attribute, length, value) tuple from the packet. More...
 
bool get (uint32_t &)
 Get an (attribute, length, value) tuple from the packet. More...
 
bool get (int64_t &)
 Get an (attribute, length, value) tuple from the packet. More...
 
bool get (uint64_t &)
 Get an (attribute, length, value) tuple from the packet. More...
 
bool get (Forest::ntyp_t &)
 Get an (attribute, length, value) tuple from the packet. More...
 
bool get (RateSpec &)
 Get an (attribute, length, value) tuple from the packet. More...
 
bool get (string &)
 Get an (attribute, length, value) tuple from the packet. More...
 
bool get (vector< int32_t > &)
 Get an (attribute, length, value) tuple from the packet. More...
 
void fmtBase ()
 Format the base fields of the control packet. More...
 
bool xtrBase ()
 Extract the base fields of the control packet. More...
 
void updateSeqNum ()
 Update the sequence number field of a control packet.
 
void fmtError (const string &, int64_t=0)
 Format an error reply packet. More...
 
bool xtrError (string &)
 Extract an error reply packet. More...
 
void fmtAddIface (int, ipa_t, RateSpec, int64_t)
 Format a ADD_IFACE control packet (request). More...
 
bool xtrAddIface (int &, ipa_t &, RateSpec &)
 Extract a ADD_IFACE control packet (request). More...
 
void fmtAddIfaceReply (ipa_t, ipp_t, int64_t=0)
 Format a ADD_IFACE control packet reply. More...
 
bool xtrAddIfaceReply (ipa_t &, ipp_t &)
 Extract a ADD_IFACE control packet reply. More...
 
void fmtDropIface (int, int64_t)
 Format a DROP_IFACE control packet (request). More...
 
bool xtrDropIface (int &)
 Extract a DROP_IFACE control packet (request). More...
 
void fmtDropIfaceReply (int64_t=0)
 Format a DROP_IFACE control packet reply. More...
 
bool xtrDropIfaceReply ()
 Extract a DROP_IFACE control packet reply. More...
 
void fmtModIface (int, RateSpec, int64_t)
 Format a MOD_IFACE control packet (request). More...
 
bool xtrModIface (int &, RateSpec &)
 Extract a MOD_IFACE control packet (request). More...
 
void fmtModIfaceReply (int64_t=0)
 Format a MOD_IFACE control packet reply. More...
 
bool xtrModIfaceReply ()
 Extract a MOD_IFACE control packet reply. More...
 
void fmtGetIface (int, int64_t)
 Format a GET_IFACE control packet (request). More...
 
bool xtrGetIface (int &)
 Extract a GET_IFACE control packet (request). More...
 
void fmtGetIfaceReply (int, ipa_t, ipp_t, RateSpec, RateSpec, int64_t=0)
 Format a GET_IFACE control packet reply. More...
 
bool xtrGetIfaceReply (int &, ipa_t &, ipp_t &, RateSpec &, RateSpec &)
 Extract a GET_IFACE control packet reply. More...
 
void fmtGetIfaceSet (int, int, int64_t)
 Format a GET_IFACE_SET control packet (request). More...
 
bool xtrGetIfaceSet (int &, int &)
 Extract a GET_IFACE_SET control packet (request). More...
 
void fmtGetIfaceSetReply (int, int, string, int64_t=0)
 Format a GET_IFACE_SET control packet reply. More...
 
bool xtrGetIfaceSetReply (int &, int &, string &)
 Extract a GET_IFACE_SET control packet reply. More...
 
void fmtAddLink (Forest::ntyp_t, int, int, ipa_t, ipp_t, fAdr_t, uint64_t, int64_t)
 Format a ADD_LINK control packet (request). More...
 
bool xtrAddLink (Forest::ntyp_t &, int &, int &, ipa_t &, ipp_t &, fAdr_t &, uint64_t &)
 Extract a ADD_LINK control packet (request). More...
 
void fmtAddLinkReply (int, fAdr_t, int64_t=0)
 Format a ADD_LINK control packet reply. More...
 
bool xtrAddLinkReply (int &, fAdr_t &)
 Extract a ADD_LINK control packet reply. More...
 
void fmtDropLink (int, fAdr_t, int64_t)
 Format a DROP_LINK control packet (request). More...
 
bool xtrDropLink (int &, fAdr_t &)
 Extract a DROP_LINK control packet (request). More...
 
void fmtDropLinkReply (int64_t=0)
 Format a DROP_LINK control packet reply. More...
 
bool xtrDropLinkReply ()
 Extract a DROP_LINK control packet reply. More...
 
void fmtModLink (int, RateSpec, int64_t)
 Format a MOD_LINK control packet (request). More...
 
bool xtrModLink (int &, RateSpec &)
 Extract a MOD_LINK control packet (request). More...
 
void fmtModLinkReply (int64_t=0)
 Format a MOD_LINK control packet reply. More...
 
bool xtrModLinkReply ()
 Extract a MOD_LINK control packet reply. More...
 
void fmtGetLink (int, int64_t)
 Format a GET_LINK control packet (request). More...
 
bool xtrGetLink (int &)
 Extract a GET_LINK control packet (request). More...
 
void fmtGetLinkReply (int, int, Forest::ntyp_t, ipa_t, ipp_t, fAdr_t, RateSpec &, RateSpec &, int64_t=0)
 Format a GET_LINK control packet reply. More...
 
bool xtrGetLinkReply (int &, int &, Forest::ntyp_t &, ipa_t &, ipp_t &, fAdr_t &, RateSpec &, RateSpec &)
 Extract a GET_LINK control packet reply. More...
 
void fmtGetLinkSet (int, int, int64_t)
 Format a GET_LINK_SET control packet (request). More...
 
bool xtrGetLinkSet (int &, int &)
 Extract a GET_LINK_SET control packet (request). More...
 
void fmtGetLinkSetReply (int, int, string, int64_t=0)
 Format a GET_LINK_SET control packet reply. More...
 
bool xtrGetLinkSetReply (int &, int &, string &)
 Extract a GET_LINK_SET control packet reply. More...
 
void fmtAddComtree (comt_t, int64_t)
 Format a ADD_COMTREE control packet (request). More...
 
bool xtrAddComtree (comt_t &)
 Extract a ADD_COMTREE control packet (request). More...
 
void fmtAddComtreeReply (int64_t=0)
 Format a ADD_COMTREE control packet reply. More...
 
bool xtrAddComtreeReply ()
 Extract a ADD_COMTREE control packet reply. More...
 
void fmtDropComtree (comt_t, int64_t)
 Format a DROP_COMTREE control packet (request). More...
 
bool xtrDropComtree (comt_t &)
 Extract a DROP_COMTREE control packet (request). More...
 
void fmtDropComtreeReply (RateSpec, int64_t=0)
 Format a DROP_COMTREE control packet reply. More...
 
bool xtrDropComtreeReply (RateSpec &)
 Extract a DROP_COMTREE control packet reply. More...
 
void fmtModComtree (comt_t, int, int, int64_t)
 Format a MOD_COMTREE control packet (request). More...
 
bool xtrModComtree (comt_t &, int &, int &)
 Extract a MOD_COMTREE control packet (request). More...
 
void fmtModComtreeReply (int64_t=0)
 Format a MOD_COMTREE control packet reply. More...
 
bool xtrModComtreeReply ()
 Extract a MOD_COMTREE control packet reply. More...
 
void fmtGetComtree (comt_t, int64_t)
 Format a GET_COMTREE control packet (request). More...
 
bool xtrGetComtree (comt_t &)
 Extract a GET_COMTREE control packet (request). More...
 
void fmtGetComtreeReply (comt_t, int, int, int, int64_t=0)
 Format a GET_COMTREE control packet reply. More...
 
bool xtrGetComtreeReply (comt_t &, int &, int &, int &)
 Extract a GET_COMTREE control packet reply. More...
 
void fmtGetComtreeSet (comt_t, int, int64_t)
 Format a GET_COMTREE_SET control packet (request). More...
 
bool xtrGetComtreeSet (comt_t &, int &)
 Extract a GET_COMTREE_SET control packet (request). More...
 
void fmtGetComtreeSetReply (int, comt_t, string, int64_t=0)
 Format a GET_COMTREE_SET control packet reply. More...
 
bool xtrGetComtreeSetReply (int &, comt_t &, string &)
 Extract a GET_COMTREE_SET control packet reply. More...
 
void fmtAddComtreeLink (comt_t, int, int, ipa_t, ipp_t, fAdr_t, int64_t)
 Format a ADD_COMTREE_LINK control packet (request). More...
 
bool xtrAddComtreeLink (comt_t &, int &, int &, ipa_t &, ipp_t &, fAdr_t &)
 Extract a ADD_COMTREE_LINK control packet (request). More...
 
void fmtAddComtreeLinkReply (int, RateSpec, int64_t=0)
 Format a ADD_COMTREE_LINK control packet reply. More...
 
bool xtrAddComtreeLinkReply (int &, RateSpec &)
 Extract a ADD_COMTREE_LINK control packet reply. More...
 
void fmtDropComtreeLink (comt_t, int, ipa_t, ipp_t, fAdr_t, int64_t)
 Format a DROP_COMTREE_LINK control packet (request). More...
 
bool xtrDropComtreeLink (comt_t &, int &, ipa_t &, ipp_t &, fAdr_t &)
 Extract a DROP_COMTREE_LINK control packet (request). More...
 
void fmtDropComtreeLinkReply (RateSpec, int64_t=0)
 Format a DROP_COMTREE_LINK control packet reply. More...
 
bool xtrDropComtreeLinkReply (RateSpec &)
 Extract a DROP_COMTREE_LINK control packet reply. More...
 
void fmtModComtreeLink (comt_t, int, RateSpec, int64_t)
 Format a MOD_COMTREE_LINK control packet (request). More...
 
bool xtrModComtreeLink (comt_t &, int &, RateSpec &)
 Extract a MOD_COMTREE_LINK control packet (request). More...
 
void fmtModComtreeLinkReply (RateSpec &, int64_t=0)
 Format a MOD_COMTREE_LINK control packet reply. More...
 
bool xtrModComtreeLinkReply (RateSpec &)
 Extract a MOD_COMTREE_LINK control packet reply. More...
 
void fmtGetComtreeLink (comt_t, int, int64_t)
 Format a GET_COMTREE_LINK control packet (request). More...
 
bool xtrGetComtreeLink (comt_t &, int &)
 Extract a GET_COMTREE_LINK control packet (request). More...
 
void fmtGetComtreeLinkReply (comt_t, int, RateSpec, int, fAdr_t, int64_t=0)
 Format a GET_COMTREE_LINK control packet reply. More...
 
bool xtrGetComtreeLinkReply (comt_t &, int &, RateSpec &, int &, fAdr_t &)
 Extract a GET_COMTREE_LINK control packet reply. More...
 
void fmtAddRoute (comt_t, fAdr_t, int, int64_t)
 Format a ADD_ROUTE control packet (request). More...
 
bool xtrAddRoute (comt_t &, fAdr_t &, int &)
 Extract a ADD_ROUTE control packet (request). More...
 
void fmtAddRouteReply (int64_t=0)
 Format a ADD_ROUTE control packet reply. More...
 
bool xtrAddRouteReply ()
 Extract a ADD_ROUTE control packet reply. More...
 
void fmtDropRoute (comt_t, fAdr_t, int64_t)
 Format a DROP_ROUTE control packet (request). More...
 
bool xtrDropRoute (comt_t &, fAdr_t &)
 Extract a DROP_ROUTE control packet (request). More...
 
void fmtDropRouteReply (int64_t=0)
 Format a DROP_ROUTE control packet reply. More...
 
bool xtrDropRouteReply ()
 Extract a DROP_ROUTE control packet reply. More...
 
void fmtModRoute (comt_t, fAdr_t, int, int64_t)
 Format a MOD_ROUTE control packet (request). More...
 
bool xtrModRoute (comt_t &, fAdr_t &, int &)
 Extract a MOD_ROUTE control packet (request). More...
 
void fmtModRouteReply (int64_t=0)
 Format a MOD_ROUTE control packet reply. More...
 
bool xtrModRouteReply ()
 Extract a MOD_ROUTE control packet reply. More...
 
void fmtGetRoute (comt_t, fAdr_t, int64_t)
 Format a GET_ROUTE control packet (request). More...
 
bool xtrGetRoute (comt_t &, fAdr_t &)
 Extract a GET_ROUTE control packet (request). More...
 
void fmtGetRouteReply (comt_t, fAdr_t, int, int64_t=0)
 Format a GET_ROUTE control packet reply. More...
 
bool xtrGetRouteReply (comt_t &, fAdr_t &, int &)
 Extract a GET_ROUTE control packet reply. More...
 
void fmtGetRouteSet (int, int, int64_t)
 Format a GET_ROUTE_SET control packet (request). More...
 
bool xtrGetRouteSet (int &, int &)
 Extract a GET_ROUTE_SET control packet (request). More...
 
void fmtGetRouteSetReply (int, int, string, int64_t=0)
 Format a GET_ROUTE_SET control packet reply. More...
 
bool xtrGetRouteSetReply (int &, int &, string &)
 Extract a GET_ROUTE_SET control packet reply. More...
 
void fmtAddRouteLink (comt_t, fAdr_t, int, int64_t)
 Format a ADD_ROUTE_LINK control packet (request). More...
 
bool xtrAddRouteLink (comt_t &, fAdr_t &, int &)
 Extract a ADD_ROUTE_LINK control packet (request). More...
 
void fmtAddRouteLinkReply (int64_t=0)
 Format a ADD_ROUTE_LINK control packet reply. More...
 
bool xtrAddRouteLinkReply ()
 Extract a ADD_ROUTE_LINK control packet reply. More...
 
void fmtDropRouteLink (comt_t, fAdr_t, int, int64_t)
 Format a DROP_ROUTE_LINK control packet (request). More...
 
bool xtrDropRouteLink (comt_t &, fAdr_t &, int &)
 Extract a DROP_ROUTE_LINK control packet (request). More...
 
void fmtDropRouteLinkReply (int64_t=0)
 Format a DROP_ROUTE_LINK control packet reply. More...
 
bool xtrDropRouteLinkReply ()
 Extract a DROP_ROUTE_LINK control packet reply. More...
 
void fmtAddFilter (int64_t)
 Format a ADD_FILTER control packet (request). More...
 
bool xtrAddFilter ()
 Extract a ADD_FILTER control packet (request). More...
 
void fmtAddFilterReply (int, int64_t=0)
 Format a ADD_FILTER control packet reply. More...
 
bool xtrAddFilterReply (int &)
 Extract a ADD_FILTER control packet reply. More...
 
void fmtDropFilter (int, int64_t)
 Format a DROP_FILTER control packet (request). More...
 
bool xtrDropFilter (int &)
 Extract a DROP_FILTER control packet (request). More...
 
void fmtDropFilterReply (int64_t=0)
 Format a DROP_FILTER control packet reply. More...
 
bool xtrDropFilterReply ()
 Extract a DROP_FILTER control packet reply. More...
 
void fmtModFilter (int, string, int64_t)
 Format a MOD_FILTER control packet (request). More...
 
bool xtrModFilter (int &, string &)
 Extract a MOD_FILTER control packet (request). More...
 
void fmtModFilterReply (int64_t=0)
 Format a MOD_FILTER control packet reply. More...
 
bool xtrModFilterReply ()
 Extract a MOD_FILTER control packet reply. More...
 
void fmtGetFilter (int, int64_t)
 Format a GET_FILTER control packet (request). More...
 
bool xtrGetFilter (int &)
 Extract a GET_FILTER control packet (request). More...
 
void fmtGetFilterReply (string, int64_t=0)
 Format a GET_FILTER control packet reply. More...
 
bool xtrGetFilterReply (string &)
 Extract a GET_FILTER control packet reply. More...
 
void fmtGetFilterSet (int, int, int64_t)
 Format a GET_FILTER_SET control packet (request). More...
 
bool xtrGetFilterSet (int &, int &)
 Extract a GET_FILTER_SET control packet (request). More...
 
void fmtGetFilterSetReply (int, int, string, int64_t=0)
 Format a GET_FILTER_SET control packet reply. More...
 
bool xtrGetFilterSetReply (int &, int &, string &)
 Extract a GET_FILTER_SET control packet reply. More...
 
void fmtGetLoggedPackets (int64_t)
 Format a GET_LOGGED_PACKETS control packet (request). More...
 
bool xtrGetLoggedPackets ()
 Extract a GET_LOGGED_PACKETS control packet (request). More...
 
void fmtGetLoggedPacketsReply (int, string, int64_t=0)
 Format a GET_LOGGED_PACKETS control packet reply. More...
 
bool xtrGetLoggedPacketsReply (int &, string &)
 Extract a GET_LOGGED_PACKETS control packet reply. More...
 
void fmtEnablePacketLog (int, int, int64_t)
 Format a ENABLE_PACKET_LOG control packet (request). More...
 
bool xtrEnablePacketLog (int &, int &)
 Extract a ENABLE_PACKET_LOG control packet (request). More...
 
void fmtEnablePacketLogReply (int64_t=0)
 Format a ENABLE_PACKET_LOG control packet reply. More...
 
bool xtrEnablePacketLogReply ()
 Extract a ENABLE_PACKET_LOG control packet reply. More...
 
void fmtNewSession (ipa_t, RateSpec, int64_t)
 Format a NEW_SESSION control packet (request). More...
 
bool xtrNewSession (ipa_t &, RateSpec &)
 Extract a NEW_SESSION control packet (request). More...
 
void fmtNewSessionReply (fAdr_t, fAdr_t, ipa_t, ipp_t, uint64_t, int64_t=0)
 Format a NEW_SESSION control packet reply. More...
 
bool xtrNewSessionReply (fAdr_t &, fAdr_t &, ipa_t &, ipp_t &, uint64_t &)
 Extract a NEW_SESSION control packet reply. More...
 
void fmtCancelSession (fAdr_t, fAdr_t, int64_t)
 Format a CANCEL_SESSION control packet (request). More...
 
bool xtrCancelSession (fAdr_t &, fAdr_t &)
 Extract a CANCEL_SESSION control packet (request). More...
 
void fmtCancelSessionReply (int64_t=0)
 Format a CANCEL_SESSION control packet reply. More...
 
bool xtrCancelSessionReply ()
 Extract a CANCEL_SESSION control packet reply. More...
 
void fmtClientConnect (fAdr_t, fAdr_t, int64_t)
 Format a CLIENT_CONNECT control packet (request). More...
 
bool xtrClientConnect (fAdr_t &, fAdr_t &)
 Extract a CLIENT_CONNECT control packet (request). More...
 
void fmtClientConnectReply (int64_t=0)
 Format a CLIENT_CONNECT control packet reply. More...
 
bool xtrClientConnectReply ()
 Extract a CLIENT_CONNECT control packet reply. More...
 
void fmtClientDisconnect (fAdr_t, fAdr_t, int64_t)
 Format a CLIENT_DISCONNECT control packet (request). More...
 
bool xtrClientDisconnect (fAdr_t &, fAdr_t &)
 Extract a CLIENT_DISCONNECT control packet (request). More...
 
void fmtClientDisconnectReply (int64_t=0)
 Format a CLIENT_DISCONNECT control packet reply. More...
 
bool xtrClientDisconnectReply ()
 Extract a CLIENT_DISCONNECT control packet reply. More...
 
void fmtConfigLeaf (fAdr_t, fAdr_t, ipa_t, ipp_t, uint64_t, int64_t)
 Format a CONFIG_LEAF control packet (request). More...
 
bool xtrConfigLeaf (fAdr_t &, fAdr_t &, ipa_t &, ipp_t &, uint64_t &)
 Extract a CONFIG_LEAF control packet (request). More...
 
void fmtConfigLeafReply (int64_t=0)
 Format a CONFIG_LEAF control packet reply. More...
 
bool xtrConfigLeafReply ()
 Extract a CONFIG_LEAF control packet reply. More...
 
void fmtSetLeafRange (fAdr_t, fAdr_t, int64_t)
 Format a SET_LEAF_RANGE control packet (request). More...
 
bool xtrSetLeafRange (fAdr_t &, fAdr_t &)
 Extract a SET_LEAF_RANGE control packet (request). More...
 
void fmtSetLeafRangeReply (int64_t=0)
 Format a SET_LEAF_RANGE control packet reply. More...
 
bool xtrSetLeafRangeReply ()
 Extract a SET_LEAF_RANGE control packet reply. More...
 
void fmtBootRouter (int64_t)
 Format a BOOT_ROUTER control packet (request). More...
 
bool xtrBootRouter ()
 Extract a BOOT_ROUTER control packet (request). More...
 
void fmtBootRouterReply (int64_t=0)
 Format a BOOT_ROUTER control packet reply. More...
 
bool xtrBootRouterReply ()
 Extract a BOOT_ROUTER control packet reply. More...
 
void fmtBootLeaf (int64_t)
 Format a BOOT_LEAF control packet (request). More...
 
bool xtrBootLeaf ()
 Extract a BOOT_LEAF control packet (request). More...
 
void fmtBootLeafReply (int64_t=0)
 Format a BOOT_LEAF control packet reply. More...
 
bool xtrBootLeafReply ()
 Extract a BOOT_LEAF control packet reply. More...
 
void fmtBootComplete (int64_t)
 Format a BOOT_COMPLETE control packet (request). More...
 
bool xtrBootComplete ()
 Extract a BOOT_COMPLETE control packet (request). More...
 
void fmtBootCompleteReply (int64_t=0)
 Format a BOOT_COMPLETE control packet reply. More...
 
bool xtrBootCompleteReply ()
 Extract a BOOT_COMPLETE control packet reply. More...
 
void fmtBootAbort (int64_t)
 Format a BOOT_ABORT control packet (request). More...
 
bool xtrBootAbort ()
 Extract a BOOT_ABORT control packet (request). More...
 
void fmtBootAbortReply (int64_t=0)
 Format a BOOT_ABORT control packet reply. More...
 
bool xtrBootAbortReply ()
 Extract a BOOT_ABORT control packet reply. More...
 
string avPair2string (CpAttr)
 Create a string representing an (attribute,value) pair. More...
 
string toString ()
 Create string version of control packet. More...
 
 CtlPkt (const Packet &)
 
 CtlPkt (uint32_t *, int)
 Constructor with partial initialization. More...
 
 CtlPkt (CpType, CpMode, uint64_t)
 
 CtlPkt (CpType, CpMode, uint64_t, uint32_t *)
 Constructor with full initialization. More...
 
void reset ()
 
void reset (const Packet &)
 
void reset (uint32_t *, int)
 Reset control packet, with partial initialization. More...
 
void reset (CpType, CpMode, uint64_t)
 
void reset (CpType, CpMode, uint64_t, uint32_t *)
 Reset control packet, re-initializing fields. More...
 
int pack ()
 Pack CtlPkt fields into payload of packet. More...
 
bool unpack ()
 Unpack CtlPkt fields from the packet payload. More...
 
string & typeName (string &)
 
string & modeName (string &)
 
string & avPair2string (CpAttr, string &)
 
string & toString (string &)
 
 CtlPkt (const Packet &)
 
 CtlPkt (uint32_t *, int)
 
 CtlPkt (CpType, CpMode, uint64_t)
 
 CtlPkt (CpType, CpMode, uint64_t, uint32_t *)
 
void reset ()
 
void reset (const Packet &)
 
void reset (uint32_t *, int)
 
void reset (CpType, CpMode, uint64_t)
 
void reset (CpType, CpMode, uint64_t, uint32_t *)
 
int pack ()
 
bool unpack ()
 
string & avPair2string (CpAttr, string &)
 
string & toString (string &)
 
 CtlPkt (const Packet &)
 
 CtlPkt (uint32_t *, int)
 
 CtlPkt (CpType, CpMode, uint64_t)
 
 CtlPkt (CpType, CpMode, uint64_t, uint32_t *)
 
void reset ()
 
void reset (const Packet &)
 
void reset (uint32_t *, int)
 
void reset (CpType, CpMode, uint64_t)
 
void reset (CpType, CpMode, uint64_t, uint32_t *)
 
int pack ()
 
bool unpack ()
 
string & avPair2string (CpAttr, string &)
 
string & toString (string &)
 
 CtlPkt (const Packet &)
 
 CtlPkt (uint32_t *, int)
 
 CtlPkt (CpType, CpMode, uint64_t)
 
 CtlPkt (CpType, CpMode, uint64_t, uint32_t *)
 
void reset ()
 
void reset (const Packet &)
 
void reset (uint32_t *, int)
 
void reset (CpType, CpMode, uint64_t)
 
void reset (CpType, CpMode, uint64_t, uint32_t *)
 
int pack ()
 
bool unpack ()
 
string avPair2string (CpAttr)
 
string toString ()
 

Static Public Member Functions

static string cpType2string (CpType)
 Create a string representing an (attribute,value) pair. More...
 
static string cpMode2string (CpMode)
 
static bool string2cpType (string &, CpType &)
 
static bool string2cpMode (string &, CpMode &)
 
static string & cpType2string (CpType, string &)
 
static string & cpMode2string (CpMode, string &)
 
static bool string2cpType (string &, CpType &)
 
static bool string2cpMode (string &, CpMode &)
 
static string & cpType2string (CpType, string &)
 
static string & cpMode2string (CpMode, string &)
 
static bool string2cpType (string &, CpType &)
 
static bool string2cpMode (string &, CpMode &)
 
static string cpType2string (CpType)
 
static string cpMode2string (CpMode)
 
static bool string2cpType (string &, CpType &)
 
static bool string2cpMode (string &, CpMode &)
 

Public Attributes

CpType type
 control packet type
 
CpMode mode
 request/return type
 
int64_t seqNum
 sequence number
 
char * payload
 pointer to start of packet payload
 
int paylen
 payload length in bytes
 
fAdr_t adr1
 
fAdr_t adr2
 
fAdr_t adr3
 forest address fields
 
ipa_t ip1
 
ipa_t ip2
 ip address fields
 
ipp_t port1
 
ipp_t port2
 ip port number fields
 
RateSpec rspec1
 
RateSpec rspec2
 rate specs
 
uint64_t nonce
 nonce used when connecting links
 
int8_t coreFlag
 comtree core flag
 
int iface
 interface number
 
int link
 link number
 
Forest::ntyp_t nodeType
 type of a node
 
comt_t comtree
 comtree number
 
fAdr_t comtreeOwner
 comtree owner
 
int count
 count field
 
int queue
 queue number
 
int zipCode
 zip code
 
LinkTablelt
 table defining links
 
uint32_t * payload
 pointer to start of packet payload
 
int firstLinkNum
 
int numOfLinks
 
int nextLinkNum
 
string errMsg
 buffer for error messages
 
int index1
 
int index2
 table indexes
 
string stringData
 buffer for string data
 
vector< int > ivec
 vector of integers
 
char * rawBuf
 pointer to packed buffer
 
int rawBufSize
 number of bytes in rawBuf
 

Static Public Attributes

static const int MAX_STRING = 200
 

Private Attributes

char * next
 pointer to next byte in payload
 

Detailed Description

This class provides a mechanism for handling forest signalling packets.

Signalling packets have a packet type of CLIENT_SIG or NET_SIG in the first word of the forest head. The payload identifies the specific type of packet. Every control packet includes the following three fields.

control packet type identifies the specific type of packet (16 bits) mode specifies that this is a request packet, a positive reply, or a negative reply (16 bits) sequence number this field is set by the originator of any request packet, and the same value is returned in the reply packet; this allows the requestor to match repies with earlier requests (64 bits)

The remainder of a control packet payload consists of (attribute,length,value) tuples. Each attribute is identified by a 16 bit code and the 16 bit length specifies the number of bytes in the value. Each control packet type has a fixed format, that is, the number of attributes is fixed, and the types are fixed (with a fixed order).

Methods are provided to conveniently create control packets to be sent, or to "unpack" received control packets.

Signalling packets have a packet type of CLIENT_SIG or NET_SIG in the first word of the forest head. The payload identifies the specific type of packet. Every control packet includes the following three fields.

control packet type identifies the specific type of packet mode specifies that this is a request packet, a positive reply, or a negative reply sequence number this field is set by the originator of any request packet, and the same value is returned in the reply packet; this allows the requestor to match repies with earlier requests

The remainder of a control packet payload consists of (attribute,value) pairs. Each attribute is identified by a 32 bit code and the size and type of the values is determined by the attribute code. Currently, most attributes are 32 bit integers. Some are RateSpecs. The control packet object contains fields for each of the possible attribute values and these fields can be directly read or written. Pack and unpack methods are provided to packet these fields into a payload of a packet buffer, or unpack attribute values from a packet buffer.

Signalling packets have a packet type of CLIENT_SIG or NET_SIG in the first word of the forest head. The payload identifies the specific type of packet. Every control packet includes the following three fields.

control packet type identifies the specific type of packet mode specifies that this is a request packet, a positive reply, or a negative reply sequence number this field is set by the originator of any request packet, and the same value is returned in the reply packet; this allows the requestor to match repies with earlier requests

The remainder of a control packet payload consists of (attribute,length,value) tuples. Each attribute is identified by a 16 bit code and the 16 bit length specifies the number of bytes in the value. Currently, most attributes are 32 bit integers. Some are RateSpecs and some are ASCII text strings. The control packet object contains fields for each of the possible attributes and these fields can be directly read or written. Pack and unpack methods are provided to pack these fields into a payload of a packet buffer, or unpack attribute values from a packet buffer.

Definition at line 43 of file CtlPkt.h.

Constructor & Destructor Documentation

forest::CtlPkt::CtlPkt ( )

Constructor for CtlPkt with no initialization.

Constructor for CtlPkt.

Definition at line 29 of file CtlPkt.cpp.

forest::CtlPkt::CtlPkt ( const Packet p)

Construct a new control packet from the payload of a packet.

Parameters
pis a reference to a packet that contains a control packet

Definition at line 36 of file CtlPkt.cpp.

Here is the call graph for this function:

forest::CtlPkt::~CtlPkt ( )

Destructor for CtlPkt.

Definition at line 39 of file CtlPkt.cpp.

forest::CtlPkt::CtlPkt ( uint32_t *  payload1,
int  len 
)

Constructor with partial initialization.

Unspecified fields are set to recognized "undefined" values.

Parameters
payload1is a pointer to the start of the payload of a packet buffer
lenis the number of valid bytes in the payload

Definition at line 42 of file CtlPktDoowon.cpp.

Here is the call graph for this function:

forest::CtlPkt::CtlPkt ( CpType  type1,
CpMode  mode1,
uint64_t  seqNum1,
uint32_t *  payload1 
)

Constructor with full initialization.

Unspecified fields are set to recognized "undefined" values.

Parameters
type1is a the control packet type
mode1is a the control packet mode (REQUEST, POS_REPLY, NEG_REPLY)
seqNum1is a sequence number to include in the packet

Definition at line 52 of file CtlPktDoowon.cpp.

Here is the call graph for this function:

Member Function Documentation

int forest::CtlPkt::availSpace ( )
inline

Determine how much space is available for the next attribute.

Returns
the number of bytes that can be used by the next attribute to be packed (after accounting for the associated overhead fields).

Definition at line 537 of file CtlPkt.h.

string forest::CtlPkt::avPair2string ( CpAttr  attr)

Create a string representing an (attribute,value) pair.

Parameters
attris an attribute code
Returns
a string representing attr

Definition at line 995 of file CtlPktX.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

string forest::CtlPkt::cpType2string ( CpType  type)
static

Create a string representing an (attribute,value) pair.

Parameters
attris an attribute code
Returns
a string representing attr string CtlPkt::avPair2string(CpAttr attr) { stringstream ss; int len; switch (attr) { case ADR1: if (adr1 != 0) ss << "adr1=" << Forest::fAdr2string(adr1); break; case ADR2: if (adr2 != 0) ss << "adr2=" << Forest::fAdr2string(adr2); break; case ADR3: if (adr3 != 0) ss << "adr3=" << Forest::fAdr2string(adr3); break; case IP1: if (ip1 != 0) ss << "ip1=" << Np4d::ip2string(ip1); break; case IP2: if (ip2 != 0) ss << "ip2=" << Np4d::ip2string(ip2); break; case PORT1: if (port1 != 0) ss << "port1=" << port1; break; case PORT2: if (port2 != 0) ss << "port2=" << port2; break; case RSPEC1: if (rspec1.isSet()) ss << "rspec1=" << rspec1.toString(); break; case RSPEC2: if (rspec2.isSet()) ss << "rspec2=" << rspec2.toString(); break; case CORE_FLAG: if (coreFlag >= 0) ss << "coreFlag=" << (coreFlag ? "true" : "false"); break; case IFACE: if (iface != 0) ss << "iface=" << iface; break; case LINK: if (link != 0) ss << "link=" << link; break; case NODE_TYPE: if (nodeType != Forest::UNDEF_NODE) ss << "nodeType=" << Forest::nodeType2string(nodeType); break; case COMTREE: if (comtree != 0) ss << "comtree=" << comtree; break; case COMTREE_OWNER: ss << "comtreeOwner=" << Forest::fAdr2string(comtreeOwner); break; case INDEX1: if (index1 >= 0) ss << "index1=" << index1; break; case INDEX2: if (index2 >= 0) ss << "index2=" << index2; break; case COUNT: if (count >= 0) ss << "count=" << count; break; case QUEUE: if (queue != 0) ss << "queue=" << queue; break; case NONCE: if (nonce != 0) ss << "nonce=" << nonce; break; case ZIPCODE: if (zipCode != 0) ss << "zipCode=" << zipCode; break; case ERRMSG: if (errMsg.length() != 0) ss << "errMsg=" << errMsg; break; case STRING: if (stringData.length() != 0) ss << "stringData=" << stringData; break; case INTVEC: len = ivec.size(); if (len != 0) { ss << "ivec="; for (int i = 0; i < len; i++) ss << ivec[i] << " "; } break; default: break; } return ss.str(); }

Definition at line 2087 of file CtlPkt.cpp.

Here is the caller graph for this function:

void forest::CtlPkt::fmtAddComtree ( comt_t  comt,
int64_t  snum 
)

Format a ADD_COMTREE control packet (request).

Parameters
comtis the number of the comtree to be added
snumis the sequence number for the control packet

Definition at line 556 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddComtreeLink ( comt_t  comt,
int  lnk,
int  coreFlag,
ipa_t  peerIp,
ipp_t  peerPort,
fAdr_t  peerAdr,
int64_t  snum 
)

Format a ADD_COMTREE_LINK control packet (request).

Parameters
comtis the number of the comtree
lnkis the number of the link to be added to the comtree (may be zero)
coreFlagis true if the peer node is a core node in this comtree
peerIpis the IP address used by the peer node (may be zero)
peerPortis the port number used by the peer node (may be zero)
peerAdris the Forest address of the peer node
snumis the sequence number for the control packet

Definition at line 785 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddComtreeLinkReply ( int  lnk,
RateSpec  availRates,
int64_t  snum = 0 
)

Format a ADD_COMTREE_LINK control packet reply.

Parameters
lnkis the number of the link added
availRatesis the available rate on the link, after the comtree link has been added
snumis the sequence number for the reply (optional)

Definition at line 818 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddComtreeReply ( int64_t  snum = 0)

Format a ADD_COMTREE control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 576 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddFilter ( int64_t  snum)

Format a ADD_FILTER control packet (request).

Parameters
snumis the sequence number for the control packet

Definition at line 1310 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddFilterReply ( int  filterNum,
int64_t  snum = 0 
)

Format a ADD_FILTER control packet reply.

Parameters
filterNumis the index of the added filter
snumis the sequence number for the reply (optional)

Definition at line 1327 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtAddIface ( int  iface,
ipa_t  ip,
RateSpec  rates,
int64_t  snum 
)

Format a ADD_IFACE control packet (request).

Parameters
ifaceis the number of the interface
ipis the IP address of the interface
ratesis the rate spec for the interface
snumis the sequence number for the control packet

Definition at line 87 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddIfaceReply ( ipa_t  ip,
ipp_t  port,
int64_t  snum = 0 
)

Format a ADD_IFACE control packet reply.

Parameters
ipis the IP address of the interface
portis the port number of the interface
snumis the sequence number for the reply (optional)

Definition at line 111 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtAddLink ( Forest::ntyp_t  nodeType,
int  iface,
int  lnk,
ipa_t  peerIp,
ipp_t  peerPort,
fAdr_t  peerAdr,
uint64_t  nonce,
int64_t  snum 
)

Format a ADD_LINK control packet (request).

Parameters
nodeTypeis the type of the peer node
ifaceis the interface used by the link
lnkis the number of the link to be added (if zero, router selects link number)
peerIpis the IP address of the peer node (may be zero)
peerPortis the port number used by the peer node (may be zero)
peerAdris the Forest address of the peer node (may be zero)
nonceis the nonce used by the peer when connecting
snumis the sequence number for the control packet

Definition at line 319 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddLinkReply ( int  lnk,
fAdr_t  peerAdr,
int64_t  snum = 0 
)

Format a ADD_LINK control packet reply.

Parameters
lnkis the link number (possibly assigned by the router)
peerAdris the peer's Forest address (possibly assigned by the router)
snumis the sequence number for the reply (optional)

Definition at line 352 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddRoute ( comt_t  comt,
fAdr_t  destAdr,
int  lnk,
int64_t  snum 
)

Format a ADD_ROUTE control packet (request).

Parameters
comtis the number of the comtree to which a route is to be added
destAdris the destination address for the route
lnkis the number of an output link for the route (may be zero)
snumis the sequence number for the control packet

Definition at line 999 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddRouteLink ( comt_t  comt,
fAdr_t  destAdr,
int  lnk,
int64_t  snum 
)

Format a ADD_ROUTE_LINK control packet (request).

Parameters
comtis the number of the comtree for the route
destAdris the destination address for the route
lnkis the number of a link to be added to the route
snumis the sequence number for the control packet

Definition at line 1229 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddRouteLinkReply ( int64_t  snum = 0)

Format a ADD_ROUTE_LINK control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1251 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtAddRouteReply ( int64_t  snum = 0)

Format a ADD_ROUTE control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1021 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtBase ( )
inline

Format the base fields of the control packet.

Packs the type, mode and sequence number into the payload region of the associated packet object.

Definition at line 397 of file CtlPkt.h.

void forest::CtlPkt::fmtBootAbort ( int64_t  snum)

Format a BOOT_ABORT control packet (request).

Parameters
snumis the sequence number for the control packet

Definition at line 1965 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtBootAbortReply ( int64_t  snum = 0)

Format a BOOT_ABORT control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1981 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtBootComplete ( int64_t  snum)

Format a BOOT_COMPLETE control packet (request).

Parameters
snumis the sequence number for the control packet

Definition at line 1932 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtBootCompleteReply ( int64_t  snum = 0)

Format a BOOT_COMPLETE control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1948 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtBootLeaf ( int64_t  snum)

Format a BOOT_LEAF control packet (request).

Parameters
snumis the sequence number for the control packet

Definition at line 1899 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtBootLeafReply ( int64_t  snum = 0)

Format a BOOT_LEAF control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1915 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtBootRouter ( int64_t  snum)

Format a BOOT_ROUTER control packet (request).

Parameters
snumis the sequence number for the control packet

Definition at line 1866 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtBootRouterReply ( int64_t  snum = 0)

Format a BOOT_ROUTER control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1882 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtCancelSession ( fAdr_t  clientAdr,
fAdr_t  rtrAdr,
int64_t  snum 
)

Format a CANCEL_SESSION control packet (request).

Parameters
clientAdris the Forest address assigned to the client
rtrAdris the Forest address of the client's access router
snumis the sequence number for the control packet

Definition at line 1658 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtCancelSessionReply ( int64_t  snum = 0)

Format a CANCEL_SESSION control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1679 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtClientConnect ( fAdr_t  clientAdr,
fAdr_t  rtrAdr,
int64_t  snum 
)

Format a CLIENT_CONNECT control packet (request).

Parameters
clientAdris the Forest address of the connecting client
rtrAdris the Forest address of the client's access router
snumis the sequence number for the control packet

Definition at line 1698 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtClientConnectReply ( int64_t  snum = 0)

Format a CLIENT_CONNECT control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1719 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtClientDisconnect ( fAdr_t  clientAdr,
fAdr_t  rtrAdr,
int64_t  snum 
)

Format a CLIENT_DISCONNECT control packet (request).

Parameters
clientAdris the Forest address of the disconnecting client
rtrAdris the Forest address of the client's access router
snumis the sequence number for the control packet

Definition at line 1738 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtClientDisconnectReply ( int64_t  snum = 0)

Format a CLIENT_DISCONNECT control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1759 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtConfigLeaf ( fAdr_t  leafAdr,
fAdr_t  rtrAdr,
ipa_t  rtrIp,
ipp_t  port,
uint64_t  nonce,
int64_t  snum 
)

Format a CONFIG_LEAF control packet (request).

Parameters
leafAdris the Forest address being assigned to the leaf node
rtrAdris the address of the leaf node's access router
rtrIpis the IP address of the leaf's access router
portis the port number of the leaf node's access router
nonceis the nonce that the leaf should use to connect
snumis the sequence number for the control packet

Definition at line 1781 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtConfigLeafReply ( int64_t  snum = 0)

Format a CONFIG_LEAF control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1808 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropComtree ( comt_t  comt,
int64_t  snum 
)

Format a DROP_COMTREE control packet (request).

Parameters
comtis the number of the comtree to be dropped
snumis the sequence number for the control packet

Definition at line 594 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropComtreeLink ( comt_t  comt,
int  lnk,
ipa_t  peerIp,
ipp_t  peerPort,
fAdr_t  peerAdr,
int64_t  snum 
)

Format a DROP_COMTREE_LINK control packet (request).

Parameters
comtis the number of the comtree
lnkis the number of the link to be dropped (may be zero)
peerIpis the IP address used by the peer node (may be zero)
peerPortis the port number used by the peer node (may be zero)
peerAdris the Forest address of the peer node
snumis the sequence number for the control packet

Definition at line 846 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropComtreeLinkReply ( RateSpec  availRates,
int64_t  snum = 0 
)

Format a DROP_COMTREE_LINK control packet reply.

Parameters
availRatesspecifies the rates now available on the link
snumis the sequence number for the reply (optional)

Definition at line 872 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropComtreeReply ( RateSpec  plnkAvailRates,
int64_t  snum = 0 
)

Format a DROP_COMTREE control packet reply.

Parameters
plnkAvailRatesspecifies the rates now available on the link that connected the target router to its parent in the comtree
snumis the sequence number for the reply (optional)

Definition at line 615 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropFilter ( int  filterNum,
int64_t  snum 
)

Format a DROP_FILTER control packet (request).

Parameters
filterNumis the index of the filter to be dropped
snumis the sequence number for the control packet

Definition at line 1349 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropFilterReply ( int64_t  snum = 0)

Format a DROP_FILTER control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1369 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropIface ( int  iface,
int64_t  snum 
)

Format a DROP_IFACE control packet (request).

Parameters
ifaceis the number of the interface to be dropped
snumis the sequence number for the control packet

Definition at line 134 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropIfaceReply ( int64_t  snum = 0)

Format a DROP_IFACE control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 154 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtDropLink ( int  lnk,
fAdr_t  peerAdr,
int64_t  snum 
)

Format a DROP_LINK control packet (request).

Parameters
lnkis the number of the link to be dropped (may be zero)
peerAdris the Forest address of the peer node, and is used to identify the link if lnk==0 (may be zero)
snumis the sequence number for the control packet

Definition at line 378 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropLinkReply ( int64_t  snum = 0)

Format a DROP_LINK control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 400 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtDropRoute ( comt_t  comt,
fAdr_t  destAdr,
int64_t  snum 
)

Format a DROP_ROUTE control packet (request).

Parameters
comtis the number of the comtree from which the route is to be dropped
destAdris the destination address for the route
snumis the sequence number for the control packet

Definition at line 1041 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropRouteLink ( comt_t  comt,
fAdr_t  destAdr,
int  lnk,
int64_t  snum 
)

Format a DROP_ROUTE_LINK control packet (request).

Parameters
comtis the number of the comtree for the route
destAdris the destination address for the route
lnkis the number of a link to be dropped from the route
snumis the sequence number for the control packet

Definition at line 1271 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropRouteLinkReply ( int64_t  snum = 0)

Format a DROP_ROUTE_LINK control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1293 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtDropRouteReply ( int64_t  snum = 0)

Format a DROP_ROUTE control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1063 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtEnablePacketLog ( int  enable,
int  local,
int64_t  snum 
)

Format a ENABLE_PACKET_LOG control packet (request).

Parameters
enableis 1 if logging is to be turned on, else 0
localis 1 if local logging is to be turned on, else 0
snumis the sequence number for the control packet

Definition at line 1560 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtEnablePacketLogReply ( int64_t  snum = 0)

Format a ENABLE_PACKET_LOG control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1581 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtError ( const string &  msg,
int64_t  snum = 0 
)

Format an error reply packet.

The type field is assumed to be already set.

Parameters
msgis an error message to be included in the body of the packet
snumis the sequence number to be included in the packet

Definition at line 59 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtGetComtree ( comt_t  comt,
int64_t  snum 
)

Format a GET_COMTREE control packet (request).

Parameters
comtis the number of the comtree to be retrieved
snumis the sequence number for the control packet

Definition at line 680 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetComtreeLink ( comt_t  comt,
int  lnk,
int64_t  snum 
)

Format a GET_COMTREE_LINK control packet (request).

Parameters
comtis the number of the comtree whose link is to be retrieved
lnkis the number of the comtree link to be retrieved
snumis the sequence number for the control packet

Definition at line 942 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetComtreeLinkReply ( comt_t  comt,
int  lnk,
RateSpec  rates,
int  qid,
fAdr_t  dest,
int64_t  snum = 0 
)

Format a GET_COMTREE_LINK control packet reply.

Parameters
comtis the comtree number for the retrieved entry
lnkis the link number for the retrieved comtree link
ratesis the rates for the comtree link
qidis the queue number used by the comtree on the specified link
destis the allowed Forest address for unicast packets
snumis the sequence number for the reply (optional)

Definition at line 968 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetComtreeReply ( comt_t  comt,
int  coreFlag,
int  plnk,
int  lnkCount,
int64_t  snum = 0 
)

Format a GET_COMTREE control packet reply.

Parameters
comtis the comtree number for the retrieved entry
coreFlagis 1 if the router is a core node in the comtree, else 0
plnkis the number of the link connecting to the comtree parent
lnkCountis the number of comtree links at the router
snumis the sequence number for the reply (optional)

Definition at line 704 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetComtreeSet ( comt_t  comt,
int  count,
int64_t  snum 
)

Format a GET_COMTREE_SET control packet (request).

Parameters
comtis the number of the first comtree to be retrieved (if zero, start with first defined comtree)
countis the number of entries to retrieve (at most 10)
snumis the sequence number for the control packet

Definition at line 730 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetComtreeSetReply ( int  count,
comt_t  nextc,
string  s,
int64_t  snum = 0 
)

Format a GET_COMTREE_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextis the number of the next comtree following the last one retrieved (or 0 if no more)
snumis the sequence number for the reply (optional)

Definition at line 754 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtGetFilter ( int  filterNum,
int64_t  snum 
)

Format a GET_FILTER control packet (request).

Parameters
filterNumis the index of the filter to be modified
snumis the sequence number for the control packet

Definition at line 1427 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetFilterReply ( string  filterString,
int64_t  snum = 0 
)

Format a GET_FILTER control packet reply.

Parameters
filterStringis the string describing the filter
snumis the sequence number for the reply (optional)

Definition at line 1448 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetFilterSet ( int  filterNum,
int  count,
int64_t  snum 
)

Format a GET_FILTER_SET control packet (request).

Parameters
filterNumis the number of the first filter to be retrieved (if zero, start with first defined filter)
countis the number of entries to retrieve (at most 10)
snumis the sequence number for the control packet

Definition at line 1471 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetFilterSetReply ( int  count,
int  nexti,
string  s,
int64_t  snum = 0 
)

Format a GET_FILTER_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextis the number of the next filter following the last one retrieved (or 0 if no more)
snumis the sequence number for the reply (optional)

Definition at line 1495 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtGetIface ( int  iface,
int64_t  snum 
)

Format a GET_IFACE control packet (request).

Parameters
ifaceis the number of the interface to be retrieved
snumis the sequence number for the control packet

Definition at line 212 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetIfaceReply ( int  iface,
ipa_t  ip,
ipp_t  port,
RateSpec  rates,
RateSpec  availRates,
int64_t  snum = 0 
)

Format a GET_IFACE control packet reply.

Parameters
ifaceis the number of the interface
ipis the IP address of the interface
portis the port number of the interface
ratesis the interface rate spec
availRatesis the rate spec for the available rates at the interface
snumis the sequence number for the reply (optional)

Definition at line 237 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtGetIfaceSet ( int  iface,
int  count,
int64_t  snum 
)

Format a GET_IFACE_SET control packet (request).

Parameters
ifaceis the number of the first interface to be retrieved (if zero, start with first defined interface)
countis the number of entries to retrieve (at most 10)
snumis the sequence number for the control packet

Definition at line 264 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetIfaceSetReply ( int  count,
int  nexti,
string  s,
int64_t  snum = 0 
)

Format a GET_IFACE_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextiis the number of the next interface following the last one retrieved (or 0 if no more)
snumis the sequence number for the reply (optional)

Definition at line 288 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtGetLink ( int  lnk,
int64_t  snum 
)

Format a GET_LINK control packet (request).

Parameters
lnkis the number of the link to be retrieved
snumis the sequence number for the control packet

Definition at line 459 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetLinkReply ( int  lnk,
int  iface,
Forest::ntyp_t  ntyp,
ipa_t  peerIp,
ipp_t  peerPort,
fAdr_t  peerAdr,
RateSpec rates,
RateSpec availRates,
int64_t  snum = 0 
)

Format a GET_LINK control packet reply.

Parameters
lnkis the link number for the retrieved entry
snumis the sequence number for the reply (optional)

Definition at line 480 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetLinkSet ( int  lnk,
int  count,
int64_t  snum 
)

Format a GET_LINK_SET control packet (request).

Parameters
lnkis the number of the first link to be retrieved (if zero, start with first defined link)
countis the number of entries to retrieve (at most 10)
snumis the sequence number for the control packet

Definition at line 510 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetLinkSetReply ( int  count,
int  nexti,
string  s,
int64_t  snum = 0 
)

Format a GET_LINK_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextis the number of the next link following the last one retrieved (or 0 if no more)
snumis the sequence number for the reply (optional)

Definition at line 533 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtGetLoggedPackets ( int64_t  snum)

Format a GET_LOGGED_PACKETS control packet (request).

Parameters
snumis the sequence number for the control packet

Definition at line 1517 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetLoggedPacketsReply ( int  count,
string  logString,
int64_t  snum = 0 
)

Format a GET_LOGGED_PACKETS control packet reply.

Parameters
countis the number of packets in the log string
logStringis the string describing the logged packets
snumis the sequence number for the reply (optional)

Definition at line 1535 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtGetRoute ( comt_t  comt,
fAdr_t  destAdr,
int64_t  snum 
)

Format a GET_ROUTE control packet (request).

Parameters
comtis the number of the route to be retrieved
destAdris the destination addre ss for the route
snumis the sequence number for the control packet

Definition at line 1126 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetRouteReply ( comt_t  comt,
fAdr_t  destAdr,
int  lnk,
int64_t  snum = 0 
)

Format a GET_ROUTE control packet reply.

Parameters
comtis the number of the comtree
destAdris the destination address for the route
lnkis the number of an output link for the route
snumis the sequence number for the reply (optional)

Definition at line 1151 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetRouteSet ( int  rtx,
int  count,
int64_t  snum 
)

Format a GET_ROUTE_SET control packet (request).

Parameters
rtxis the index of the first route to be retrieved (if zero, start with first defined route)
countis the number of entries to retrieve (at most 10)
snumis the sequence number for the control packet

Definition at line 1177 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtGetRouteSetReply ( int  count,
int  nextRtx,
string  s,
int64_t  snum = 0 
)

Format a GET_ROUTE_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextRtxis the index of the next route following the last one retrieved (or 0 if no more)
snumis the sequence number for the reply (optional)

Definition at line 1202 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtModComtree ( comt_t  comt,
int  coreFlag,
int  plnk,
int64_t  snum 
)

Format a MOD_COMTREE control packet (request).

Parameters
comtis the number of the comtree to be modified
coreFlagis 1 if the target router is a core node in the comtree, else 0,
plnkis the link number for the link connecting to the comtree parent
snumis the sequence number for the control packet

Definition at line 639 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModComtreeLink ( comt_t  comt,
int  lnk,
RateSpec  rates,
int64_t  snum 
)

Format a MOD_COMTREE_LINK control packet (request).

Parameters
comtis the number of the comtree
lnkis the number of the link to be modified
ratesis the new rates for the comtree link
snumis the sequence number for the control packet

Definition at line 896 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModComtreeLinkReply ( RateSpec availRates,
int64_t  snum = 0 
)

Format a MOD_COMTREE_LINK control packet reply.

Parameters
availRatesspecifies the rates now a vailable on the link
snumis the sequence number for the reply (optional)

Definition at line 919 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModComtreeReply ( int64_t  snum = 0)

Format a MOD_COMTREE control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 662 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModFilter ( int  filterNum,
string  filterString,
int64_t  snum 
)

Format a MOD_FILTER control packet (request).

Parameters
filterNumis the index of the filter to be modified
filterStringis the string describing the filter
snumis the sequence number for the control packet

Definition at line 1388 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModFilterReply ( int64_t  snum = 0)

Format a MOD_FILTER control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1409 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModIface ( int  iface,
RateSpec  rates,
int64_t  snum 
)

Format a MOD_IFACE control packet (request).

Parameters
ifaceis the number of the interface to be modified
ratesis the new interface rate spec
snumis the sequence number for the control packet

Definition at line 173 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModIfaceReply ( int64_t  snum = 0)

Format a MOD_IFACE control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 194 of file CtlPkt.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::fmtModLink ( int  lnk,
RateSpec  rates,
int64_t  snum 
)

Format a MOD_LINK control packet (request).

Parameters
lnkis the number of the link to be modified
ratesis the new link rate spec
snumis the sequence number for the control packet

Definition at line 420 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModLinkReply ( int64_t  snum = 0)

Format a MOD_LINK control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 441 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModRoute ( comt_t  comt,
fAdr_t  destAdr,
int  lnk,
int64_t  snum 
)

Format a MOD_ROUTE control packet (request).

Parameters
comtis the number of the comtree for which a route is to be modified
destAdris the destination address for the route
lnkis the number of an output link for the route
snumis the sequence number for the control packet

Definition at line 1084 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtModRouteReply ( int64_t  snum = 0)

Format a MOD_ROUTE control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1106 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtNewSession ( ipa_t  clientIp,
RateSpec  rates,
int64_t  snum 
)

Format a NEW_SESSION control packet (request).

Parameters
clientIpis the IP address of the client starting a new session
ratesis the rates requested for the client's access link
snumis the sequence number for the control packet

Definition at line 1600 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtNewSessionReply ( fAdr_t  clientAdr,
fAdr_t  rtrAdr,
ipa_t  rtrIp,
ipp_t  rtrPort,
uint64_t  nonce,
int64_t  snum = 0 
)

Format a NEW_SESSION control packet reply.

Parameters
clientAdris the Forest address assigned to the client
rtrAdris the Forest address of the client's assigned access router
rtrIpis the IP address for the interface of the client's access router
rtrPortis the port number for the interface of the client's access router
nonceis the nonce to be used by the client when connecting to the access router
snumis the sequence number for the reply (optional)

Definition at line 1626 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtSetLeafRange ( fAdr_t  firstAdr,
fAdr_t  lastAdr,
int64_t  snum 
)

Format a SET_LEAF_RANGE control packet (request).

Parameters
firstAdris the first Forest address in the leaf range
lastAdris the last Forest address in the leaf range
snumis the sequence number for the control packet

Definition at line 1828 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::fmtSetLeafRangeReply ( int64_t  snum = 0)

Format a SET_LEAF_RANGE control packet reply.

Parameters
snumis the sequence number for the reply (optional)

Definition at line 1849 of file CtlPkt.cpp.

Here is the call graph for this function:

bool forest::CtlPkt::get ( int16_t &  x)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
xused to return the retrieved value

Definition at line 546 of file CtlPkt.h.

bool forest::CtlPkt::get ( uint16_t &  x)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
xused to return the retrieved value

Definition at line 559 of file CtlPkt.h.

bool forest::CtlPkt::get ( int32_t &  x)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
xused to return the retrieved value

Definition at line 572 of file CtlPkt.h.

bool forest::CtlPkt::get ( uint32_t &  x)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
xused to return the retrieved value

Definition at line 585 of file CtlPkt.h.

bool forest::CtlPkt::get ( int64_t &  x)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
xused to return the retrieved value

Definition at line 598 of file CtlPkt.h.

bool forest::CtlPkt::get ( uint64_t &  x)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
xused to return the retrieved value

Definition at line 611 of file CtlPkt.h.

bool forest::CtlPkt::get ( Forest::ntyp_t x)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
xused to return the retrieved value

Definition at line 624 of file CtlPkt.h.

bool forest::CtlPkt::get ( RateSpec rs)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
rsused to return the retrieved value

Definition at line 637 of file CtlPkt.h.

bool forest::CtlPkt::get ( string &  s)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
sused to return the retrieved value

Definition at line 652 of file CtlPkt.h.

bool forest::CtlPkt::get ( vector< int32_t > &  v)
inline

Get an (attribute, length, value) tuple from the packet.

Parameters
vis used to return the retrieved value

Definition at line 665 of file CtlPkt.h.

int forest::CtlPkt::pack ( )

Pack CtlPkt fields into payload of packet.

Returns
the length of the packed payload in bytes. or 0 if an error was detected.

Definition at line 136 of file CtlPktDoowon.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void forest::CtlPkt::put ( int16_t  x)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
xis a value to be added to the packet.

Definition at line 434 of file CtlPkt.h.

void forest::CtlPkt::put ( uint16_t  x)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
xis a value to be added to the packet.

Definition at line 443 of file CtlPkt.h.

void forest::CtlPkt::put ( int32_t  x)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
xis a value to be added to the packet.

Definition at line 452 of file CtlPkt.h.

void forest::CtlPkt::put ( uint32_t  x)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
xis a value to be added to the packet.

Definition at line 461 of file CtlPkt.h.

void forest::CtlPkt::put ( int64_t  x)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
xis a value to be added to the packet.

Definition at line 470 of file CtlPkt.h.

void forest::CtlPkt::put ( uint64_t  x)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
xis a value to be added to the packet.

Definition at line 482 of file CtlPkt.h.

void forest::CtlPkt::put ( Forest::ntyp_t  x)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
xis a value to be added to the packet.

Definition at line 494 of file CtlPkt.h.

void forest::CtlPkt::put ( const RateSpec rs)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
rsis a value to be added to the packet.

Definition at line 504 of file CtlPkt.h.

void forest::CtlPkt::put ( const string &  s)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
sis a value to be added to the packet.

Definition at line 516 of file CtlPkt.h.

void forest::CtlPkt::put ( const vector< int32_t > &  v)
inline

Add an (attribute, length, value) tuple to the packet.

Parameters
vis a value to be added to the packet.

Definition at line 525 of file CtlPkt.h.

void forest::CtlPkt::reset ( const Packet p)

Reset control packet, from a given packet's payload.

The payload pointer and paylen fields are initialized and the fixed fields (type, mode, seqNum) are extracted from the packet. Also, the internal pointer used to track the position of the first unread or unwritten payload byte is initialzed.

Parameters
pis a reference to a packet.

Unspecified fields are set to recognized "undefined" values.

Parameters
pis a reference to a packet.

Definition at line 48 of file CtlPkt.cpp.

Here is the call graph for this function:

void forest::CtlPkt::reset ( uint32_t *  payload1,
int  len 
)

Reset control packet, with partial initialization.

Unspecified fields are set to recognized "undefined" values.

Parameters
payload1is a pointer to the start of the payload of a packet buffer
lenis the number of valid bytes in the payload

Definition at line 88 of file CtlPktDoowon.cpp.

Here is the call graph for this function:

void forest::CtlPkt::reset ( CpType  type1,
CpMode  mode1,
uint64_t  seqNum1,
uint32_t *  payload1 
)

Reset control packet, re-initializing fields.

Unspecified fields are set to recognized "undefined" values.

Parameters
type1is a the control packet type
mode1is a the control packet mode (REQUEST, POS_REPLY, NEG_REPLY)
seqNum1is a sequence number to include in the packet

Definition at line 70 of file CtlPktDoowon.cpp.

Here is the call graph for this function:

string forest::CtlPkt::toString ( )

Create string version of control packet.

Returns
the string

Definition at line 2228 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::unpack ( )

Unpack CtlPkt fields from the packet payload.

Returns
true on success, 0 on failure

Definition at line 571 of file CtlPktDoowon.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddComtree ( comt_t comt)

Extract a ADD_COMTREE control packet (request).

Parameters
comtis the number of the comtree to be added
Returns
true if the extracted packet passes basic checks

Definition at line 567 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddComtreeLink ( comt_t comt,
int &  lnk,
int &  coreFlag,
ipa_t &  peerIp,
ipp_t &  peerPort,
fAdr_t peerAdr 
)

Extract a ADD_COMTREE_LINK control packet (request).

Parameters
comtis the number of the comtree
lnkis the number of the link to be added to the comtree (may be zero)
coreFlagis true if the peer node is a core node in this comtree
peerIpis the IP address used by the peer node (may be zero)
peerPortis the port number used by the peer node (may be zero)
peerAdris the Forest address of the peer node
Returns
true if the extracted packet passes basic checks

Definition at line 804 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddComtreeLinkReply ( int &  lnk,
RateSpec availRates 
)

Extract a ADD_COMTREE_LINK control packet reply.

Parameters
lnkis the number of the link added
availRatesis the available rate on the link, after the comtree link has been added
Returns
true if the extracted packet passes basic checks

Definition at line 832 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddComtreeReply ( )

Extract a ADD_COMTREE control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 585 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrAddFilter ( )

Extract a ADD_FILTER control packet (request).

Returns
true if the extracted packet passes basic checks

Definition at line 1318 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddFilterReply ( int &  filterNum)

Extract a ADD_FILTER control packet reply.

Parameters
filterNumis the index of the added filter
Returns
true if the extracted packet passes basic checks

Definition at line 1339 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddIface ( int &  iface,
ipa_t &  ip,
RateSpec rates 
)

Extract a ADD_IFACE control packet (request).

Parameters
ifaceis the number of the interface
ipis the IP address of the interface
ratesis the rate spec for the interface
Returns
true if the extracted packet passes basic checks

Definition at line 100 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddIfaceReply ( ipa_t &  ip,
ipp_t &  port 
)

Extract a ADD_IFACE control packet reply.

Parameters
ipis the IP address of the interface
portis the port number of the interface
Returns
true if the extracted packet passes basic checks

Definition at line 124 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddLink ( Forest::ntyp_t nodeType,
int &  iface,
int &  lnk,
ipa_t &  peerIp,
ipp_t &  peerPort,
fAdr_t peerAdr,
uint64_t &  nonce 
)

Extract a ADD_LINK control packet (request).

Parameters
nodeTypeis the type of the peer node
ifaceis the interface used by the link
lnkis the number of the link to be added (if zero, router selects link number)
peerIpis the IP address of the peer node (may be zero)
peerPortis the port number used by the peer node (may be zero)
peerAdris the Forest address of the peer node (may be zero)
nonceis the nonce used by the peer when connecting
Returns
true if the extracted packet passes basic checks

Definition at line 338 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddLinkReply ( int &  lnk,
fAdr_t peerAdr 
)

Extract a ADD_LINK control packet reply.

Parameters
lnkis the link number (possibly assigned by the router)
peerAdris the peer's Forest address (possibly assigned by the router)
Returns
true if the extracted packet passes basic checks

Definition at line 366 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddRoute ( comt_t comt,
fAdr_t destAdr,
int &  lnk 
)

Extract a ADD_ROUTE control packet (request).

Parameters
comtis the number of the comtree to which a route is to be added
destAdris the destination address for the route
lnkis the number of an output link for the route (may be zero)
Returns
true if the extracted packet passes basic checks

Definition at line 1012 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddRouteLink ( comt_t comt,
fAdr_t destAdr,
int &  lnk 
)

Extract a ADD_ROUTE_LINK control packet (request).

Parameters
comtis the number of the comtree for the route
destAdris the destination address for the route
lnkis the number of a link to be added to the route
Returns
true if the extracted packet passes basic checks

Definition at line 1242 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrAddRouteLinkReply ( )

Extract a ADD_ROUTE_LINK control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1260 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrAddRouteReply ( )

Extract a ADD_ROUTE control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1030 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrBase ( )
inline

Extract the base fields of the control packet.

Extracts the type, mode and sequence number into the payload region of the associated packet object.

Definition at line 412 of file CtlPkt.h.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrBootAbort ( )

Extract a BOOT_ABORT control packet (request).

Returns
true if the extracted packet passes basic checks

Definition at line 1973 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrBootAbortReply ( )

Extract a BOOT_ABORT control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1990 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrBootComplete ( )

Extract a BOOT_COMPLETE control packet (request).

Returns
true if the extracted packet passes basic checks

Definition at line 1940 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrBootCompleteReply ( )

Extract a BOOT_COMPLETE control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1957 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrBootLeaf ( )

Extract a BOOT_LEAF control packet (request).

Returns
true if the extracted packet passes basic checks

Definition at line 1907 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrBootLeafReply ( )

Extract a BOOT_LEAF control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1924 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrBootRouter ( )

Extract a BOOT_ROUTER control packet (request).

Returns
true if the extracted packet passes basic checks

Definition at line 1874 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrBootRouterReply ( )

Extract a BOOT_ROUTER control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1891 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrCancelSession ( fAdr_t clientAdr,
fAdr_t rtrAdr 
)

Extract a CANCEL_SESSION control packet (request).

Parameters
clientAdris the Forest address assigned to the client
rtrAdris the Forest address of the client's access router
Returns
true if the extracted packet passes basic checks

Definition at line 1670 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrCancelSessionReply ( )

Extract a CANCEL_SESSION control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1688 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrClientConnect ( fAdr_t clientAdr,
fAdr_t rtrAdr 
)

Extract a CLIENT_CONNECT control packet (request).

Parameters
clientAdris the Forest address of the connecting client
rtrAdris the Forest address of the client's access router
Returns
true if the extracted packet passes basic checks

Definition at line 1710 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrClientConnectReply ( )

Extract a CLIENT_CONNECT control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1728 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrClientDisconnect ( fAdr_t clientAdr,
fAdr_t rtrAdr 
)

Extract a CLIENT_DISCONNECT control packet (request).

Parameters
clientAdris the Forest address of the disconnecting client
rtrAdris the Forest address of the client's access router
Returns
true if the extracted packet passes basic checks

Definition at line 1750 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrClientDisconnectReply ( )

Extract a CLIENT_DISCONNECT control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1768 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrConfigLeaf ( fAdr_t leafAdr,
fAdr_t rtrAdr,
ipa_t &  rtrIp,
ipp_t &  port,
uint64_t &  nonce 
)

Extract a CONFIG_LEAF control packet (request).

Parameters
leafAdris the Forest address being assigned to the leaf node
rtrAdris the address of the leaf node's access router
rtrIpis the IP address of the leaf's access router
portis the port number of the leaf node's access router
nonceis the nonce that the leaf should use to connect
Returns
true if the extracted packet passes basic checks

Definition at line 1797 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrConfigLeafReply ( )

Extract a CONFIG_LEAF control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1817 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrDropComtree ( comt_t comt)

Extract a DROP_COMTREE control packet (request).

Parameters
comtis the number of the comtree to be dropped
Returns
true if the extracted packet passes basic checks

Definition at line 605 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrDropComtreeLink ( comt_t comt,
int &  lnk,
ipa_t &  peerIp,
ipp_t &  peerPort,
fAdr_t peerAdr 
)

Extract a DROP_COMTREE_LINK control packet (request).

Parameters
comtis the number of the comtree
lnkis the number of the link to be dropped (may be zero)
peerIpis the IP address used by the peer node (may be zero)
peerPortis the port number used by the peer node (may be zero)
peerAdris the Forest address of the peer node
Returns
true if the extracted packet passes basic checks

Definition at line 860 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrDropComtreeLinkReply ( RateSpec availRates)

Extract a DROP_COMTREE_LINK control packet reply.

Parameters
availRatesspecifies the rates now available on the link
Returns
true if the extracted packet passes basic checks

Definition at line 884 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrDropComtreeReply ( RateSpec plnkAvailRates)

Extract a DROP_COMTREE control packet reply.

Parameters
plnkAvailRatesspecifies the rates now available on the link that connected the target router to its parent in the comtree
Returns
true if the extracted packet passes basic checks

Definition at line 627 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrDropFilter ( int &  filterNum)

Extract a DROP_FILTER control packet (request).

Parameters
filterNumis the index of the filter to be dropped
Returns
true if the extracted packet passes basic checks

Definition at line 1360 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrDropFilterReply ( )

Extract a DROP_FILTER control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1378 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrDropIface ( int &  iface)

Extract a DROP_IFACE control packet (request).

Parameters
ifaceis the number of the interface to be dropped
Returns
true if the extracted packet passes basic checks

Definition at line 145 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrDropIfaceReply ( )

Extract a DROP_IFACE control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 163 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrDropLink ( int &  lnk,
fAdr_t peerAdr 
)

Extract a DROP_LINK control packet (request).

Parameters
lnkis the number of the link to be dropped (may be zero)
peerAdris the Forest address of the peer node, and is used to identify the link if lnk==0 (may be zero)
Returns
true if the extracted packet passes basic checks

Definition at line 391 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrDropLinkReply ( )

Extract a DROP_LINK control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 410 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrDropRoute ( comt_t comt,
fAdr_t destAdr 
)

Extract a DROP_ROUTE control packet (request).

Parameters
comtis the number of the comtree from which the route is to be dropped
destAdris the destination address for the route
Returns
true if the extracted packet passes basic checks

Definition at line 1054 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrDropRouteLink ( comt_t comt,
fAdr_t destAdr,
int &  lnk 
)

Extract a DROP_ROUTE_LINK control packet (request).

Parameters
comtis the number of the comtree for the route
destAdris the destination address for the route
lnkis the number of a link to be dropped from the route
Returns
true if the extracted packet passes basic checks

Definition at line 1284 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrDropRouteLinkReply ( )

Extract a DROP_ROUTE_LINK control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1302 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrDropRouteReply ( )

Extract a DROP_ROUTE control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1072 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrEnablePacketLog ( int &  enable,
int &  local 
)

Extract a ENABLE_PACKET_LOG control packet (request).

Parameters
enableis 1 if logging is to be turned on, else 0
localis 1 if local logging is to be turned on, else 0
Returns
true if the extracted packet passes basic checks

Definition at line 1572 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrEnablePacketLogReply ( )

Extract a ENABLE_PACKET_LOG control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1590 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrError ( string &  msg)

Extract an error reply packet.

The type field is assumed to be already set.

Parameters
msgis an error message to be included in the body of the packet
trueif the control packet passes basic checks

Definition at line 70 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetComtree ( comt_t comt)

Extract a GET_COMTREE control packet (request).

Parameters
comtis the number of the comtree to be retrieved
Returns
true if the extracted packet passes basic checks

Definition at line 691 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetComtreeLink ( comt_t comt,
int &  lnk 
)

Extract a GET_COMTREE_LINK control packet (request).

Parameters
comtis the number of the comtree whose link is to be retrieved
lnkis the number of the comtree link to be retrieved
Returns
true if the extracted packet passes basic checks

Definition at line 954 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetComtreeLinkReply ( comt_t comt,
int &  lnk,
RateSpec rates,
int &  qid,
fAdr_t dest 
)

Extract a GET_COMTREE_LINK control packet reply.

Parameters
comtis the comtree number for the retrieved entry
lnkis the link number for the retrieved comtree link
ratesis the rates for the comtree link
qidis the queue number used by the comtree on the specified link
destis the allowed Forest address for unicast packets
Returns
true if the extracted packet passes basic checks

Definition at line 985 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetComtreeReply ( comt_t comt,
int &  coreFlag,
int &  plnk,
int &  lnkCount 
)

Extract a GET_COMTREE control packet reply.

Parameters
comtis the comtree number for the retrieved entry
coreFlagis 1 if the router is a core node in the comtree, else 0
plnkis the number of the link connecting to the comtree parent
lnkCountis the number of comtree links at the router
Returns
true if the extracted packet passes basic checks

Definition at line 719 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetComtreeSet ( comt_t comt,
int &  count 
)

Extract a GET_COMTREE_SET control packet (request).

Parameters
comtis the number of the first comtree to be retrieved (if zero, start with first defined comtree)
countis the number of entries to retrieve (at most 10)
Returns
true if the extracted packet passes basic checks

Definition at line 742 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetComtreeSetReply ( int &  count,
comt_t nextc,
string &  s 
)

Extract a GET_COMTREE_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextis the number of the next comtree following the last one retrieved (or 0 if no more)
Returns
true if the extracted packet passes basic checks

Definition at line 769 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetFilter ( int &  filterNum)

Extract a GET_FILTER control packet (request).

Parameters
filterNumis the index of the filter to be modified
Returns
true if the extracted packet passes basic checks

Definition at line 1438 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetFilterReply ( string &  filterString)

Extract a GET_FILTER control packet reply.

Parameters
filterStringis the string describing the filter
Returns
true if the extracted packet passes basic checks

Definition at line 1460 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetFilterSet ( int &  filterNum,
int &  count 
)

Extract a GET_FILTER_SET control packet (request).

Parameters
filterNumis the number of the first filter to be retrieved (if zero, start with first defined filter)
countis the number of entries to retrieve (at most 10)
Returns
true if the extracted packet passes basic checks

Definition at line 1483 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetFilterSetReply ( int &  count,
int &  nexti,
string &  s 
)

Extract a GET_FILTER_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextis the number of the next filter following the last one retrieved (or 0 if no more)
Returns
true if the extracted packet passes basic checks

Definition at line 1508 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetIface ( int &  iface)

Extract a GET_IFACE control packet (request).

Parameters
ifaceis the number of the interface to be retrieved
Returns
true if the extracted packet passes basic checks

Definition at line 223 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetIfaceReply ( int &  iface,
ipa_t &  ip,
ipp_t &  port,
RateSpec rates,
RateSpec availRates 
)

Extract a GET_IFACE control packet reply.

Parameters
ifaceis the number of the interface
ipis the IP address of the interface
portis the port number of the interface
ratesis the interface rate spec
availRatesis the rate spec for the available rates at the interface
Returns
true if the extracted packet passes basic checks

Definition at line 253 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetIfaceSet ( int &  iface,
int &  count 
)

Extract a GET_IFACE_SET control packet (request).

Parameters
ifaceis the number of the first interface to be retrieved (if zero, start with first defined interface)
countis the number of entries to retrieve (at most 10)
Returns
true if the extracted packet passes basic checks

Definition at line 276 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetIfaceSetReply ( int &  count,
int &  nexti,
string &  s 
)

Extract a GET_IFACE_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextis the number of the next interface following the last one retrieved (or 0 if no more)
Returns
true if the extracted packet passes basic checks

Definition at line 302 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetLink ( int &  lnk)

Extract a GET_LINK control packet (request).

Parameters
lnkis the number of the link to be retrieved
Returns
true if the extracted packet passes basic checks

Definition at line 470 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetLinkReply ( int &  lnk,
int &  iface,
Forest::ntyp_t ntyp,
ipa_t &  peerIp,
ipp_t &  peerPort,
fAdr_t peerAdr,
RateSpec rates,
RateSpec availRates 
)

Extract a GET_LINK control packet reply.

Parameters
lnkis the link number for the retrieved entry
Returns
true if the extracted packet passes basic checks

Definition at line 495 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetLinkSet ( int &  lnk,
int &  count 
)

Extract a GET_LINK_SET control packet (request).

Parameters
lnkis the number of the first link to be retrieved (if zero, start with first defined link)
countis the number of entries to retrieve (at most 10)
Returns
true if the extracted packet passes basic checks

Definition at line 522 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetLinkSetReply ( int &  count,
int &  nexti,
string &  s 
)

Extract a GET_LINK_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextis the number of the next link following the last one retrieved (or 0 if no more)
Returns
true if the extracted packet passes basic checks

Definition at line 546 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetLoggedPackets ( )

Extract a GET_LOGGED_PACKETS control packet (request).

Returns
true if the extracted packet passes basic checks

Definition at line 1525 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetLoggedPacketsReply ( int &  count,
string &  logString 
)

Extract a GET_LOGGED_PACKETS control packet reply.

Parameters
countis the number of packets in the log string
logStringis the string describing the logged packets
Returns
true if the extracted packet passes basic checks

Definition at line 1549 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetRoute ( comt_t comt,
fAdr_t destAdr 
)

Extract a GET_ROUTE control packet (request).

Parameters
comtis the number of the route to be retrieved
destAdris the destination addre ss for the route
Returns
true if the extracted packet passes basic checks

Definition at line 1139 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetRouteReply ( comt_t comt,
fAdr_t destAdr,
int &  lnk 
)

Extract a GET_ROUTE control packet reply.

Parameters
comtis the number of the comtree
destAdris the destination address for the route
lnkis the number of an output link for the route
Returns
true if the extracted packet passes basic checks

Definition at line 1165 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetRouteSet ( int &  rtx,
int &  count 
)

Extract a GET_ROUTE_SET control packet (request).

Parameters
rtxis the index of the first route to be retrieved (if zero, start with first defined route)
countis the number of entries to retrieve (at most 10)
Returns
true if the extracted packet passes basic checks

Definition at line 1190 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrGetRouteSetReply ( int &  count,
int &  nextRtx,
string &  s 
)

Extract a GET_ROUTE_SET control packet reply.

Parameters
countis the number of entries actually retirieved
nextRtxis the number of the next route following the last one retrieved (or 0 if no more)
Returns
true if the extracted packet passes basic checks

Definition at line 1217 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrModComtree ( comt_t comt,
int &  coreFlag,
int &  plnk 
)

Extract a MOD_COMTREE control packet (request).

Parameters
comtis the number of the comtree to be modified
coreFlagis 1 if the target router is a core node in the comtree, else 0
plnkis the link number for the link connecting to the comtree parent
Returns
true if the extracted packet passes basic checks

Definition at line 653 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrModComtreeLink ( comt_t comt,
int &  lnk,
RateSpec rates 
)

Extract a MOD_COMTREE_LINK control packet (request).

Parameters
comtis the number of the comtree
lnkis the number of the link to be modified
ratesis the new rates for the comtree link
Returns
true if the extracted packet passes basic checks

Definition at line 909 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrModComtreeLinkReply ( RateSpec availRates)

Extract a MOD_COMTREE_LINK control packet reply.

Parameters
availRatesspecifies the rates now available on the link
Returns
true if the extracted packet passes basic checks

Definition at line 931 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrModComtreeReply ( )

Extract a MOD_COMTREE control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 671 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrModFilter ( int &  filterNum,
string &  filterString 
)

Extract a MOD_FILTER control packet (request).

Parameters
filterNumis the index of the filter to be modified
filterStringis the string describing the filter
Returns
true if the extracted packet passes basic checks

Definition at line 1400 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrModFilterReply ( )

Extract a MOD_FILTER control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1418 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrModIface ( int &  iface,
RateSpec rates 
)

Extract a MOD_IFACE control packet (request).

Parameters
ifaceis the number of the interface to be modified
ratesis the new interface rate spec
Returns
true if the extracted packet passes basic checks

Definition at line 185 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrModIfaceReply ( )

Extract a MOD_IFACE control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 203 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrModLink ( int &  lnk,
RateSpec rates 
)

Extract a MOD_LINK control packet (request).

Parameters
lnkis the number of the link to be modified
ratesis the new link rate spec
Returns
true if the extracted packet passes basic checks

Definition at line 432 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrModLinkReply ( )

Extract a MOD_LINK control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 450 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrModRoute ( comt_t comt,
fAdr_t destAdr,
int &  lnk 
)

Extract a MOD_ROUTE control packet (request).

Parameters
comtis the number of the comtree for which a route is to be modified
destAdris the destination address for the route
lnkis the number of an output link for the route
Returns
true if the extracted packet passes basic checks

Definition at line 1097 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrModRouteReply ( )

Extract a MOD_ROUTE control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1115 of file CtlPkt.cpp.

bool forest::CtlPkt::xtrNewSession ( ipa_t &  clientIp,
RateSpec rates 
)

Extract a NEW_SESSION control packet (request).

Parameters
clientIpis the IP address of the client starting a new session
ratesis the rates requested for the client's access link
Returns
true if the extracted packet passes basic checks

Definition at line 1612 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrNewSessionReply ( fAdr_t clientAdr,
fAdr_t rtrAdr,
ipa_t &  rtrIp,
ipp_t &  rtrPort,
uint64_t &  nonce 
)

Extract a NEW_SESSION control packet reply.

Parameters
clientAdris the Forest address assigned to the client
rtrAdris the Forest address of the client's assigned access router
rtrIpis the IP address for the interface of the client's access router
rtrPortis the port number for the interface of the client's access router
nonceis the nonce to be used by the client when connecting to the access router
Returns
true if the extracted packet passes basic checks

Definition at line 1645 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrSetLeafRange ( fAdr_t firstAdr,
fAdr_t lastAdr 
)

Extract a SET_LEAF_RANGE control packet (request).

Parameters
firstAdris the first Forest address in the leaf range
lastAdris the last Forest address in the leaf range
Returns
true if the extracted packet passes basic checks

Definition at line 1840 of file CtlPkt.cpp.

Here is the caller graph for this function:

bool forest::CtlPkt::xtrSetLeafRangeReply ( )

Extract a SET_LEAF_RANGE control packet reply.

Returns
true if the extracted packet passes basic checks

Definition at line 1858 of file CtlPkt.cpp.


The documentation for this class was generated from the following files: