Public Member Functions | Public Attributes

INATNetwork Interface Reference

List of all members.

Public Member Functions

void addLocalMapping (in wstring hostid, in long offset)
void addPortForwardRule (in boolean isIpv6, in wstring ruleName, in NATProtocol proto, in wstring hostIP, in unsigned short hostPort, in wstring guestIP, in unsigned short guestPort)
void removePortForwardRule (in boolean iSipv6, in wstring ruleName)
void start (in wstring trunkType)
void stop ()

Public Attributes

attribute wstring networkName
 TBD: the idea, technically we can start any number of the NAT networks, but we should expect that at some point we will get collisions because of port-forwanding rules.
attribute boolean enabled
attribute wstring network
 This is CIDR IPv4 string.
readonly attribute wstring gateway
 This attribute is read-only.
attribute boolean IPv6Enabled
 This attribute define whether gateway will support IPv6 or not.
attribute wstring IPv6Prefix
 This a CIDR IPv6 defining prefix for link-local addresses autoconfiguration within network.
attribute boolean advertiseDefaultIPv6RouteEnabled
attribute boolean needDhcpServer
readonly attribute IEventSource eventSource
readonly attribute wstring[] portForwardRules4
 Array of NAT port-forwarding rules in string representation, in the following format: "name:protocolid:[host ip]:host port:[guest ip]:guest port".
readonly attribute wstring[] localMappings
 Array of mappings (address,offset),e.g.
attribute long loopbackIp6
 Offset in ipv6 network from network id for address mapped into loopback6 interface of the host.
readonly attribute wstring[] portForwardRules6
 Array of NAT port-forwarding rules in string representation, in the following format: "name:protocolid:[host ip]:host port:[guest ip]:guest port".

Member Function Documentation

void INATNetwork::addLocalMapping ( in wstring  hostid,
in long  offset 
)
void INATNetwork::addPortForwardRule ( in boolean  isIpv6,
in wstring  ruleName,
in NATProtocol  proto,
in wstring  hostIP,
in unsigned short  hostPort,
in wstring  guestIP,
in unsigned short  guestPort 
)
void INATNetwork::removePortForwardRule ( in boolean  iSipv6,
in wstring  ruleName 
)
void INATNetwork::start ( in wstring  trunkType  ) 
void INATNetwork::stop (  ) 

Member Data Documentation

attribute wstring INATNetwork::networkName

TBD: the idea, technically we can start any number of the NAT networks, but we should expect that at some point we will get collisions because of port-forwanding rules.

so perhaps we should support only single instance of NAT network.

attribute boolean INATNetwork::enabled
attribute wstring INATNetwork::network

This is CIDR IPv4 string.

Specifying it user defines IPv4 addresses of gateway (low address + 1) and DHCP server (= low address + 2). Note: If there are defined IPv4 port-forward rules update of network will be ignored (because new assignment could break existing rules).

readonly attribute wstring INATNetwork::gateway

This attribute is read-only.

It's recalculated on changing network attribute (low address of network + 1).

attribute boolean INATNetwork::IPv6Enabled

This attribute define whether gateway will support IPv6 or not.

attribute wstring INATNetwork::IPv6Prefix

This a CIDR IPv6 defining prefix for link-local addresses autoconfiguration within network.

Note: ignored if attribute IPv6Enabled is false.

attribute boolean INATNetwork::needDhcpServer
readonly attribute wstring [] INATNetwork::portForwardRules4

Array of NAT port-forwarding rules in string representation, in the following format: "name:protocolid:[host ip]:host port:[guest ip]:guest port".

readonly attribute wstring [] INATNetwork::localMappings

Array of mappings (address,offset),e.g.

("127.0.1.1=4") maps 127.0.1.1 to networkid + 4.

attribute long INATNetwork::loopbackIp6

Offset in ipv6 network from network id for address mapped into loopback6 interface of the host.

readonly attribute wstring [] INATNetwork::portForwardRules6

Array of NAT port-forwarding rules in string representation, in the following format: "name:protocolid:[host ip]:host port:[guest ip]:guest port".