PadicoTM

Documentation

« back to PM2 home.
PadicoTM Topology Model

All topology structures in a compact form:

struct host
string: hostname /* canonical, as reported by gethostname(3) */
list string: aliases /* DNS aliases, short name, and fqdn */
list struct binding: bindings /* bindings between this host and networks */
list struct hwaddr: hwaddrs /* hardware network interfaces */
list struct property: props /* various properties, e.g. running services */
struct binding
union entity /* contained entity */
ref struct host: host
ref struct network: network
ref struct network: network /* container group */
list struct property: props /* binding properties, e.g. address */
struct network
string: id /* network unique identifier, e.g. inet-[192.168.1.0/24] */
list ref binding: bindings /* bindings to hosts contained in this network */
ref binding: uplink /* uplink to another network, if any */
int: addr_family /* address family used on the network (using AF_* from socket.h) */
int: addr_size /* size of addresses used on the network */
list struct property: props
struct hwaddr
string: ifname /* interface name, as used in the BSD functions */
int: index /* interface index, as used by the rtnetlink API */
int: type /* hwaddr type, using ARPHRD_* from if_arp.h */
int: addr_len /* actual length of hardware (MAC) address */
char[]: addr /* hardware address (raw bytes, not necessarily a printable string) */
struct property
enum kind: kind /* kind of property, used as a type for 'content' */
union content
struct address: address /* protocol address for a binding (e.g. IPv4, IPv6, IB GUID, ...) */
struct address: gw_address /* address of the gateway (for a private subnet) */
ref struct hwaddr: hwaddr /* hardware interface used by binding */
ref struct host: gw_host /* gateway for a subnet (if known host) */
struct filter: filter /* filtering rule for binding (applied in order) */
struct service: service /* service running a the host */
int: port
string: name
string: hostname /* name of the host on the given network (if provate DNS) */
struct route: route
ref struct network: dest
struct address: gw
struct perf: perf
int: lat
int: bw
struct: misc
string: label
string: value
struct address
int: family
int: size
string: address
struct filter
enum { block_in, block_out, allow_in, allow_out }: policy
int: protocol
int: port

TODO- – host.hostname and host.aliases may probably be merged as host properties – network.addr_* may probably be merged as network properties