TRA VIP Reference
The Traffic Routing Agent (TRA) parameters define the virtual IPs (VIPs) in the tra_config_network_topology.xml file. The information below describes the configuration parameters in those files.
TRA Node VIP Elements
The TRA VIPs are defined by the parameters listed below. These VIPs are used by (assigned to) the virtual servers (VSs). VIPs are created on the active TRA node.
name
— A descriptive name for the VIP.if-Name
— The name of the network interface.- Use one of these options to identify
the VIP address:
address
— A static IP address to be used as the VIP.domain_name
[4|6] — A DNS name to used as the VIP. The DNS lookup is conducted every time before the connection to the given node is established. You can change this behavior by using thevsopt
tcp-dn-dns-resolution-refresh[0|1]
parameter. These are the options:domain_name
— Selects the first IPv4 or IPv6 name in the DNS lookup table.domain_name4
— Selects the first IPv4 entry in the DNS lookup table.domain_name6
— Selects the first IPv6 entry in the DNS lookup table.
fqdn
— The fully qualified domain name (FQDN). When set, this string identifies the VIP. When this parameter is not set, the value of thepreferred-fqdn
virtual server (VS) element value is used. Ifpreferred-fqdn
is not set, the value of thefqdn
VIP element is derived from the local host name and might not match the domain-name VIP parameter.derive-fqdn-from-domain-name
— When set totrue
, the FQDN is the value ofdomain_name
. If thedomain_name
parameter is unset an error is raised. By default,derive-fqdn-from-domain-name
is set tofalse
.netmask
— The IPv4 netmask. Required if the VS accepts IPv4 traffic.- floating=[ "true" | "false" ] — (Optional; case-sensitive) Only used if MATRIXX is implemented in a cloud environment that does not allow floating VIPs. In a cloud environment, set all VIPs to floating="false". The default is "true".
- prefix=[ 1...128 ] — Integer. The IPv6 traffic prefix length. Required if the VS accepts IPv6 traffic.
Example of an IPv4 VIP address configuration:
<vip-addresses>
<vip name="vip1" if-name="eth0" address="10.10.20.1" netmask="32"/>
<vip name="vip1" if-name="eth0" address="10.10.20.2" netmask="32"/>
<vip name="vip1" if-name="eth0" address="10.10.20.3" netmask="32"/>
<vip name="vip1" if-name="eth0" address="10.10.20.4" netmask="32"/>
</vip-addresses>
Example of an IPv6 VIP address configuration:
<vip-addresses>
<vip name="vip-ext-v6" ifName="eth4" address="2001:0db8:0:f101::1" prefix="64"/>
. . .
</vip-addresses>
Example of an IPv4 VIP address configuration in a cloud environment:
<vip-addresses>
<vip name="vip1" if-name="eth0" address="192.0.2.1" netmask="32" floating="false"/>
...
</vip-addresses>
VIPs That Accept Connections from All Available Interfaces
The any
, any4
, and any6
VIPs, when created,
accept connections from any interface, instead of requiring explicit IP addresses or
domain names. When these VIPs are present, specify vip="any"
or
vip="any4"
or vip=any6"
in a virtual server
(VS) definition to cause the virtual server to accept connections from all
interfaces (or all IPv4 interfaces. or all IPv6 interfaces) on a particular VS
port.
Set the default-vip-any-enabled
attribute to 1 to enable creation of
the any
, any4
, and any6
VIPs.
<parameters
.....
default-vip-any-address-family="1"
/>
any
, any4
, and any6
VIPs
are applicable only to stand-alone TRA deployments, and not where the TRA is part of
a high availability (HA) pair.If the vip
attribute is omitted from VS definitions,
vip="any"
is used by default. For example both
vsVipAny
and vsVipImplicitAny
below use the
any
VIP:
<virtual-servers>
<vs name="vsVipAny" vip="any" port="7777" protocol="tcp" pool="tcpPool4" />
<vs name="vsVipImplicitAny" port="8888" protocol="tcp" pool="tcpPool4" />
<vs name="vsVipAny4" vip="any4" port="17777" protocol="tcp" pool="tcpPool4" />
<vs name="vsVipAny6" vip="any6" port="27778" protocol="tcp" pool="tcpPool6" />
</virtual-servers>
If the default-vip-any-enabled
attribute is set, the any
,
any4
, and any6
VIPs are created, even if they
are not used. If the If the default-vip-any-enabled
attribute is
not set, the any
, any4
, and any6
VIPs are only created if VS definitions implicitly or explicitly use them.
MATRIXX Support recommends that you decide if you need the any
,
any4
, and any6
VIPs during configuration and
then set the default-vip-any-enabled
attribute accordingly.
The TRA conducts extra port collision validations for VSs with VIPs of any
.
If a particular port is specified for a virtual server with a VIP of
any
, that port must not be specified for any of the rest of the
VSs. Interface validity checks for any
VIPs would always find at
least the localhost interface to be valid, and therefore are skipped.
The default-vip-any-address-family
attribute in the
parameters
element can be used to restrict the
any
behavior to the IPv4 or IPv6 address families. A value of
4 for the default-vip-any-address-family
parameter specifies IPv4
addresses, and a value of 6 specifies IPv6. For example:
<parameters
.....
default-vip-any-address-family="4"
/>
Create your own any
VIP if for any reason the default VIPs are not enough.
VIPs where the address
attribute specifies any
define any interface on the system. If the address
attribute
specifies any
, any4
, or any6
, it
is not necessary to specify the if-name
, floating
,
netmask
, or prefix
attributes for the VIP.
For example where a typical VIP has the following definition:
<vip-addresses>
<vip name="vip-ext" if-name="lo" floating="false" address="127.0.0.100" netmask="32"/>
</vip-addresses>
The following VIP definitions fully define VIPs for any address, any IPv4 address,
and any IPv6 address, respectively (if for some reason the default
any
, any4
, and any6
VIPs are
not sufficient.)
<vip-addresses>
<vip name="myAnyAddress" address="any"/>
<vip name="myExplicitAnyIPv4" address="any4"/>
<vip name="myExplicitAnyIPv6" address="any6"/>
</vip-addresses>
any
VIP has a
derive-fqdn-from-domain-name
set to false
by
default.VIP Command Timeout
The vip-cmd-timeout-msec
attribute in the top-level
parameters
element of the tra_config.xml
file can be used to control the amount of time allowed for a VIP command to
complete. If omitted, the timeout value is 1 second (1000 milliseconds.) For
example, the setting shown below sets the timeout value at 1.5 seconds:
<parameters
.....
vip-cmd-timeout-msec="1500"
/>