In the OpenStack environment,when cloud instances are launched through Heat, metadata and userdata are populated automatically by the Heat template. The SBC SWe metadata and userdata you provide in your template are essential to ensuring that the SBC instance you deploy can initialize correctly. To be interpreted correctly, the metadata and userdata must be provided in the proper JSON format. The example Heat templates Ribbon provides include metadata and userdata sections in the required format. When editing or copying these sections to create your own Heat template, be sure to maintain the format. The following sections describe the SBC SWe metadata and userdata. 


For OpenStack, there is a common REST API command for accessing/showing/listing instantiation data such as meta-data and user-data. For details, refer to the REST API Reference Guide.

Metadata

Metadata Format

# Mgt0 interface
   
"IF0" : { 
        "Port":"Mgt0",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "GWV6" :"<IP_Address>",
        "IPV6":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
},
   
# Ha0 interface
 "IF1" : {
        "Port" : "Ha0",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
  },
  
# IP interface Pkt0.111
"IF2":  {
        "Port" :"Pkt0",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "GWV6" :"<IP_Address>",
        "IPV6":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
        "RNat":"true",
        "VlanId":"111"
  },
},
  
# Secondary IP for Pkt0.111   
"AltIP2" : {
        "IFName":"IF2",
        "IP": "<IP_Address>",
        "FIPV4":"<IP_Address>"
 }
# Another Secondary IP for Pkt0.111 
"AltIP3" : {
        "IFName":"IF2",
        "IP": "<IP_Address>",
        "FIPV4":"<IP_Address>"
 }
 
# IP interface Pkt0.222
"IF3":  {
        "Port":"Pkt0",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "GWV6" :"<IP_Address>",
        "IPV6":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
        "RNat":"true",
        "VlanId":"222" 
  },
   
# Secondary IP for Pkt0.222
"AltIP4" : {
        "IFName":"IF3",
        "IP": "<IP_Address>",
        "FIPV4":"<IP_Address>", 
 },
   
# IP interface Pkt1.333
"IF4":  {
        "Port":"Pkt1",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "GWV6" :"<IP_Address>",
        "IPV6":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
        "RNat":"true",
        "VlanId":"333"
  },
   
# Secondary IP for Pkt1.333
"AltIP5" : {
        "IFName":"IF4",
        "IP": "<IP_Address>",
        "FIPV4":"<IP_Address>"
},

ClusterIp: "<RG_IP>"


If a port needs to be part of multiple VLANs, IF definitions including the port must be repeated for each VLAN IDs, as follows:

"IF3": {
"GWV4": "<IP_Address>",
"DHCP": "<Dhcp_flag>",
"Port": "Pkt1",
"VlanId": "<VLAN_ID_1>",
"IPV4": "<IP_Address/Subnet_Prefix>"
},

"IF4": {
"GWV4": "<IP_Address>",
"DHCP": "<Dhcp_flag>",
"Port": "Pkt1",
"VlanId": "<VLAN_ID_2>",
"IPV4": "<IP_Address/Subnet_Prefix>"
},

"IF5": {
"GWV4": "<IP_Address>",
"DHCP": "<Dhcp_flag>",
"Port": "Pkt1",
"VlanId": "<VLAN_ID_3>",
"IPV4": "<IP_Address/Subnet_Prefix>"
}


Example Metadata

#Interface definition for the Mgt0 port.
"IF0" : {
        "Port":"Mgt0",
		"DHCP": "False",
        "GWV4":"10.0.0.1",
        "IPV4":"10.0.0.24/24",
        "GWV6" :"fd00:10:2b50:4000::1",
        "IPV6":"fd00:10:2b50:4000::1/64",
        "FIPV4":"10.14.52.108",
},
   
# JSON for the Ha0 interface
 "IF1" : {
        "Port" : "Ha0",
		"DHCP": "False",
        "GWV4":"192.168.100.1",
        "IPV4":"192.168.100.24/24",
  },
  
# JSON for the IP interface Pkt0.2007
"IF2":  {
        "Port" :"Pkt0",
		"DHCP": "False",
        "GWV6" :"fd00:10:6b21:2007::1",
        "IPV6":"fd00:10:6b21:2007::1001/64",
        "VlanId":"2007"
  },
# JSON for the IP interface Pkt1.2008

"IF3":  {
        "Port" :"Pkt1",
		"DHCP": "False",
        "GWV6" :"fd00:10:6b21:2008::1",
        "IPV6":"fd00:10:6b21:2008::1001/64",
        "VlanId":"2008"
  },
},
  
# Secondary IP for Pkt0.2007 
"AltIP2" : {
        "IFName":"IF2",
        "IP": "fd00:10:6b21:2007::1002",
}
  
# Another Secondary IP for Pkt0.2007
"AltIP3" : {
        "IFName":"IF2",
        "IP": "fd00:10:6b21:2007::1003",
},

ClusterIp: "192.168.100.25" 
Note
  • Ensure the alternate IP definitions have corresponding IF names.
  • IF dictionary names are any name prefixed by IF .

Example : IF-ABC, IFASD, IF_AS, and so on.

  • The name for an alternate IP address on a port can be constructed with port/VLAN information.

Example: The second alternate IP address for pkt0's first VLAN IP interface can be named as PKT0_V01_ALT_IP_02.

  • The maximum length of the name is 255 characters.

 This section describes parameters within the SBC metadata:

Interface Definition Format

"IFx" : { 
        "Port":"<Port_Name>",
		"DHCP": "<Dhcp_flag>",
        "RNat": "<True|False>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "GWV6" :"<IP_Address>",
        "IPV6":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
        "VlanId":"<VLAN_ID>"
}

The elements which can constitute an interface definition:

Interface Definition Parameters

ParametersDescription
IFx

Interface definition name

This element is the name in the dictionary which contains the information of the port. Here, "IF" is a key word, and it can be appended with any name/identifier for x. Example: IF_Pkt0, IFMgt0, IF-MediaPort. 

Note: The name provided for the interface definition is used in an alternate IP definition. A link is formed between the two definitions based on the interface definition name.

Port

Port Name

One of – Mgt0, Ha0, Pkt0, Pkt1. This indicates the actual port to which the definition belongs.

DHCPThis flag is used to enable or disable DHCP. If the DHCP is set to False, you need to provide fixed IP addresses for each port.
RNat

Reverse NAT flag

Values:

  • True: To consider FIPV4 entity value provided in the dictionary.
  • False: To configure FIPV4 using SMM rules, and ignore the FIPV4 value provided.

Default value - True

GWV4

Gateway IP in IPv4 format.

Should be provided only when DHCP disabled on the port and it requires an IPv4 address.

Note : GWV4 and IPV4 are interdependent, both have to be provided in a noDHCP IPv4 scenario.

IPV4

Primary IP on the private port and prefix in IPv4 format.

Should be provided only when DHCP is disabled on the port and it requires an IPv4 address.

Example: 10.54.116.53/23

NOTE: Do not use a non-routable IP address (example: 169.254.x.x), even for the HA port, if you are using a non-DHCP configuration.

GWV6

Gateway IP in IPv6 format.

Should be provided only in case DHCP is disabled on the port and it requires an IPv6 address.

Note : GWV6 and IPV6 are interdependent, both have to be provided in a noDHCP PVv6 scenario.

IPV6

IP on the private port  and prefix in IPv6 format.

Should be provided only in case DHCP disabled on the port and it requires an IPv6 address.

Example : fd00:10:6b50:4350::69/64

FIPV4

Floating IP associated with the port.

Provide when a Floating IP is associated (in DHCP enabled and disabled scenarios) with the port.

VlanIdID of the VLAN.

Alternate IP Definition

An alternate IP definition contains the information for an additional IP address associated with a port. For each additional IP address added to the port, there has to be corresponding ALT IP definition. The following is an example definition with the parameters explained in the table that follows the example.

"AltIP3" : {

        "IFName":"IF2",
        "IP": "10.2.0.7",
		"FIPV4":"aaa.bbb.ccc.eee"
 }


Alternate IP Definition Parameters

ParameterDescription

AltIP3

Alternate IP (ALT IP) definition name/identifier associated with a port. This identifier does not have any restriction on naming, AltIP3 is an example.

Other examples for ALT IP identifier : Alt_Pkt0_AX,  ALT_PKT0_01, signaling_Pkt0_05.

IFName

Interface definition name

Makes an association between the ALT IP address and an existing interface definition.

If you change the interface definition name (i.e IFx name), you must simultaneously change the IFName value in this definition. Otherwise, the link between the ALT IP and its associated port is lost.

IP

IPV4 or IPV6 address

IP address to associate with the port.

Specify an IPv4 or IPv6 address, based on the IP version the parent interface definition contains.

In a dual-stack scenario, the interface definition has both IPv4 and IPv6 addresses, you can also have IPv4 and IPv6 ALT IP addresses. They must be defined in separate ALT IP definitions, each pointing to the parent definition.

FIPV4

Floating IP on the Alternate IP

Use this parameter to specify the value of a floating IP to associate with the ALT IP.

NOTE: The RNat flag which is defined in the interface definition is an interface-wide entity. If the RNat flag is disabled in the interface definition, the FIP value provided in the ALT IP definition is not considered while populating the metavariables for this port.


Cluster IP

The parameter ClusterIp is used to form a Redundancy Group (RG) during startup. You must pass HA0 the IP address of one of the nodes in the RG in the ClusterIp parameter. The format is shown below.

ClusterIp: "<RG_IP>"


Cluster IP Parameters

ParameterDescription
ClusterIpClusterIP is the IP address of one of the nodes in the RG used for RG formation on startup.  


Userdata

Userdata Format

user_data_format: RAW
      user_data:
        str_replace:
          template: |
                #cloud-config
                users:
                    - name: admin
                      ssh-authorized-keys:
                                 - $adminSshKey
                      lock_passwd: false
                    - name: linuxadmin
                      ssh-authorized-keys:
                                 - $linuxAdminSshKey
                      lock_passwd: false
                 
                runcmd:
                    - usermod -p '$adminPassword' admin
                    - usermod -p '$linuxAdminPassword' linuxadmin
 
                write_files:
                -   content: |
                        {
                          "CEName"                   : "$ce_name",
                          "CEMode"                   : "$ce_mode",
                          "SystemName"               : "$system_name",
                          "SbcPersonalityType"       : "$personality",
                          "SbcHaMode"                : "$ha_mode",
						  "enableREST"               : "$enableREST",
						  "enableCoreEMA"            : "$enableCoreEMA",
						  "enableTS"                 : "$enableTS",
                          "DosSupportSecPktPorts"    : "$dos_support_sec_port",
                          "EmsUsername"              : "$ems_user_name",
                          "EmsPassword"              : "$ems_password",
                          "EmsIP"                    : [ "$ems_ip_1", "$ems_ip_2" ],
                          "SdRegistry"               : [ { "type":"dns","servers":$sd_registry } ],
                          "EmsFqdn"                  : "$ems_fqdn",
                          "EmsDownloadConfig"        : "$downloadConfig",
                          "OamIP"                    : [ "$oam_ip_1", "$oam_ip_2" ],
                          "Oam1Ip"                   : "$oam_ip1",
                          "Oam2Ip"                   : "$oam_ip2",
                          "CERole"                   : "$ce_role",
                          "TemplateName"             : "heatRgNoDhcp.yaml",
                          "TemplateVersion"          : "TEMPLATE_VERSION_UNKNOWN",
			              "HAFaultDetectionMode"     : "$haFaultDetectionMode",
                          "EmsPrivateNodeParameters" : { "cluster_id": "$cluster_id","vnfc_id":"$vnfc_id"}
                        }
                    path: /opt/sonus/conf/userData.json
 
 
                #bootcmd:
                #-   /opt/sonus/bin/mountVolume.sh -v "$cinderVolumeIdForLogs"
                 
          params:
              $ce_role:        { get_param: sbc_ceRole }
              $ce_name:        { get_param: sbc_ceName }
              $ce_mode:         { get_param: sbc_ceMode }
              $system_name:    { get_param: sbc_system_name }
              $personality:    { get_param: personality }
              $dos_support_sec_port:  { get_param: dos_support_sec_port }
              $ha_mode:        { get_param: ha_mode }
			  $enableREST:     { get_param: enableREST }
			  $enableCoreEMA:  { get_param: enableCoreEma }
			  $enableTS:       { get_param: enableTS }
              $ems_user_name:  { get_param: ems_user_name }
              $ems_password:   { get_param: ems_password }
              $ems_ip_1:       { get_param: ems_ip_1 }
              $ems_ip_2:       { get_param: ems_ip_2 }
              $sd_registry:    { get_param: sd_registry } 
              $ems_fqdn:       { get_param: ems_fqdn }  
              $cluster_id:     { get_param: cluster_id }
              $downloadConfig: { get_param: download_config }
              $oam_ip_1:       { get_param: oam_ip_1 }
              $oam_ip_2:       { get_param: oam_ip_2 }
	          $haFaultDetectionMode: { get_param: haFaultDetectionMode }
              $vnfc_id:        { list_join: ['-', [ { get_param: "OS::stack_name" }, { get_param: cluster_id }, '1']] }
              $adminSshKey:    { get_param: adminSshKey }
              $linuxAdminSshKey: { get_param: linuxAdminSshKey }
              $adminPassword:    { get_param: adminPassword }
              $linuxAdminPassword: { get_param: linuxAdminPassword }
              #$cinderVolumeIdForLogs: { get_param: cinder_volume_id_for_logs }

The userdata JSON is present under the write_file directory /opt/sonus/conf/userData.json.

Example Userdata

{
  "CERole"                  : "ACTIVE",
  "CEName"                  : "vsbc1",
  "CEMode"                  : "sbc",
  "SystemName"              : "vsbcsystem",
  "SbcPersonalityType"      : "msbc",
  "SbcHaMode"               : "Nto1",
  "EnableREST"              : "Enabled",
  "EnableCoreEMA"           : "Enabled",
  "EnableTS"                : "Enabled",
  "OamIP"                   : [ "10.54.58.104", "10.54.58.105" ],
  "Oam1Ip"                  :  "10.54.58.104"
  "Oam2Ip"                  :  "10.54.58.105"
  "EmsUsername"             : "restuser",
  "EmsPassword"             : "sonus123",
  "EmsIP"                   : [ "10.54.58.184", "10.54.58.185" ],
  "SdRegistry"              : [ { "type":"dns","servers":["10.23.3.10","10.25.5.10"] } ],
  "EmsFqdn"                 : "dev1._ems._tcp.example.com",
  "EmsDownloadConfig"       : "False",
  "TemplateName"            : "heatRgNoDhcp.yaml",
  "TemplateVersion"         : "V08.00.00",
  "HAFaultDetectionMode"    : "normal"
  "EmsPrivateNodeParameters": { "cluster_id": "MSBC" , "vnfc_id": "Msbc1_N1" }
}
Note:

Beginning with release 7.1, you must include SSH keys or passwords in the Heat template to log into the SBC CLI or linux shell. Because they are more secure, SSH key fields are mandatory in the Heat templates.
You can use the ssh-keygen command to generate keys. This command generates two files id_rsa and id_rsa.pub in your /home/<user>/.ssh directory. The contents of the id_rsa.pub file contains the input value for the keys in the template. Optionally, keys can also be protected using a passphrase.
Use man ssh-keygen for more options.

Passwords are optional fields. The password input is not plain text, it is a hash of the password. The hash password can be generated using the command: mkpasswd --method=SHA-512 --rounds=4096
Use man mkpasswd for more options.

OpenStack Userdata Parameter Description

ParameterDescription
adminSshKeySpecifies the public SSH key to log into the SBC CLI as the admin user.
linuxAdminSshKeySpecifies the public SSH key to log into the SBC shell as the linuxadmin user.
adminPasswordThe hash of the password to log into the SBC CLI as the admin user.
linuxAdminPasswordThe hash of the password to log into the SBC shell as the linuxadmin user.
CERole

Assigned role for the SBC instance.

Allowed values:

  • Active
  • Standby

CEName

Specifies the actual CE name of the SBC instance. For more information, see System and Instance Naming in SBC SWe N:1 and Cloud-Based Systems.

CEName requirements:

  • Must start with an alphabetic character.
  • Can only contain alphabetic characters and/or numbers. No special characters.
  • Cannot exceed 64 characters in length.
CEMode

Specifies the role for the SBC instance within the cluster.

Allowed values:

  • oam - the node is an Operations, Administration, and Maintenance (OAM) node that manages configuration for an N:1 cluster.
  • sbc - the node is an SBC node.

SystemName

Specifies the actual system name of the SBC instance. For more information, see System and Instance Naming in SBC SWe N:1 and Cloud-Based Systems.

SystemName requirements:

  • Must start with an alphabetic character.
  • Can only contain alphabetic characters and/or numbers. No special characters.
  • Cannot exceed 26 characters in length.

SbcPersonalityType

Specifies the SBC or node personality type.
Allowed values:

  • isbc - integrated SBC
  • ssbc - signaling SBC
  • msbc - media SBC
  • mrfp - Media Resource Function Processor
  • slb - SIP-aware front-end load-balancer

DosSupportSecPktPorts

(Applicable only when port redundancy is enabled) Specifies whether to launch secondary Rx cores to support DoS protection for secondary packet ports.
Allowed values:

  • True (default)
  • False
SbcHaMode

Specifies the SBC HA model for the deployment.
Allowed values:

  • 1to1 - a 1:1 HA redundancy model where one active instance is backed up by one standby instance. In HA 1:1 mode, the SBC configuration is synchronized between active and standby SBCs.
  • Nto1 (default) - an N:1 redundancy model where up to N active instances are backed up by a single standby instance. In this mode, a 1:1 HA pair of dedicated Operations, Administration, and Maintenance (OAM) nodes is deployed to configure and manage SBC nodes. The SBC instances in such deployments have homogeneous configuration. The active OAM node holds the active configuration for the cluster and is responsible for sharing this configuration with the SBC nodes in the cluster.
EnableREST

Use this parameter to disable or enable the Core EMA component.

  • Disabled
  • Enabled (default)
EnableCoreEMA

Use this parameter to disable or enable the REST API services provided by the EMA for SBC configuration (using the SBC Manager of the EMS).

  • Disabled
  • Enabled (default)
EnableTS

Use this parameter to disable or enable the Troubleshooting component of the EMA.

  • Disabled
  • Enabled (default)
OamIP

Specifies the IP addresses for the 1:1 HA pair of OAM nodes.

For IPv4:  ["a.b.c.x","a.b.c.y"]

For IPv6:  ["aaaa:bbbb:cccc:dddd::xx","aaaa:bbbb:cccc:dddd::yy"]

EmsUsername

Specifies the REST username for logging into EMS.
Default value: "None"

If the SBC SWe is not integrated with an EMS, this parameter should be set to "None".

EmsPassword

Specifies the REST password for logging into EMS.
Default value: "None"

If the SBC SWe is not integrated with an EMS, this parameter should be set to "None".

EmsIP

Specifies the EMS instance IPv4 or IPv6 address(es).

For IPv4

  • Standalone EMS IP address as - "a.b.c.x"

  • Geographical Redundancy EMS IP address as:

    ["a.b.c.x","a.b.c.y"]

For IPv6

  • Standalone EMS IP address as - "aaaa:bbbb:cccc:dddd::xx"

  • Geographical Redundancy EMS IP address as:

    ["aaaa:bbbb:cccc:dddd::xx","aaaa:bbbb:cccc:dddd::yy"]

SdRegistry

Specifies the service discovery registries (nameservers) used to retrieve IPs of services in a JSON format:

[ { "type":"dns","servers":$sd_registry } ]

where $sd_registry is a json array of IPs or hostnames, such as:

      [ "a.b.c.x","a.b.c.y" ]

Every registry can be specified in the IPv4, IPv6 or hostname format. If no SdRegistry is specified, the default DNS server assigned to the system will be used for service discovery.

EmsFqdn

Specifies the FQDN of the EMS to be resolved dynamically using the service discovery registry. (See the SdRegistry parameter). Once the EMS is resolved from the service registry, this will override any value provided in the EmsIp parameter.

The FQDN may point to an SRV, PTR or A/AAAA DNS record. Please refer to Configuring Service Discovery for Trap Target Destinations and EMS Registration, topic Standard FQDN Naming Convention, for further details.

EmsDownloadConfig

Whether configuration should be downloaded from the EMS.

Default value: True
Allowed values:

  • True
  • False

NOTE: Beginning in release 8.0, this option is no longer required and the configured value is ignored.

TemplateNameSpecifies the name of the template file.
TemplateVersionSpecifies the software version associated with the template.
HAFaultDetectionMode

Specifies the mode of HA fault detection.

Values:

normal: This is the default value. Specifies the HA fault detection is normal. Use this value for most of the use cases.

Sensitive: Use for aggressive fault detection (may result in false positives in networks with high latency).

EmsPrivateNodeParameters

Specifies the EMS private node parameters.
cluster_id - Unique ID for a specific cluster in a cloud environment which can contain one or more SBC instances.
vnfc_id - Unique ID specified for an SBC instance. The EMS identifies the nodes based on the VNFC-ID. If you reuse an existing VNFC-ID, the EMS will interpret it as a re-registration request and overwrite the existing data on the cloud node.

The cluster ID and vnfc ID both allow hyphens and cannot exceed 64 characters in length.

cinderVolumeIdForLogs

(Optional) Specifies the Cinder volume ID that you want to attach for logs.

Cinder volume length must be between 1 and 8 characters. allowed values: "^[A-Za-z0-9]{1}[-A-Za-z0-9]*[A-Za-z0-9]{1}$"

Metavariables

Interface-related information (contents of interface and ALT IP definitions) provided in userdata and/or metadata is flattened down into key-value pairs, which can be retrieved using the CLI.

An example metavariable table for a 4:1 M-SBC is shown below:

admin@vMsbcl> show table system metavariable
CE NAME             NAME        VALUE
------------------------------------------------------
vMsbcl-10.10.20.17  OamIP       ['10.10.20.17','10.10.20.18'] 
vMsbcl-10.10.20.17  Oam1Ip      10.10.20.17 
vMsbcl-10.10.20.17  Oam2Ip      10.10.20.18 
vMsbcl-10.10.20.17  IFO.GWV6 	fd00:10:6b50:43AO::1
vMsbcl-10.10.20.17  IF0.IPV6 	FD00:10:6B50:43AO::DO
vMsbcl-10.10.20.17  IFO.Port 	MgtO
vMsbcl-10.10.20.17  IFl.GWV4 	10.10.20.1
vMsbcl-10.10.20.17  IFl.IPV4 	10.10.20.17
vMsbcl-10.10.20.17  IFl.Port 	HaO
vMsbcl-10.10.20.17  IF2.GWV6 	FD00:10:6B50:4D74::1
vMsbcl-10.10.20.17  IF2.IPV6 	FD00:10:6B50:4D74::DO
vMsbcl-10.10.20.17  IF2.Port 	PktO
vMsbcl-10.10.20.17  IF3.GWV6 	FD00:10:6B50:4D70::1
vMsbcl-10.10.20.17  IF3.IPV6 	FD00:10:6B50:4D70::9
vMsbcl-10.10.20.17  IF3.Port 	PktO
vMsbcl-10.10.20.17  IF4.GWV4 	10.54.226.129
vMsbcl-10.10.20.17  IF4.IPV4 	10.54.226.138
vMsbcl-10.10.20.17  IF4.Port 	PktO
vMsbcl-10.10.20.17  IF5.GWV4 	10.54.226.193
vMsbcl-10.10.20.17  IF5.IPV4 	10.54.226.202
vMsbcl-10.10.20.17  IF5.Port 	PktO
vMsbcl-10.10.20.17  IF6.GWV4 	10.10.13.1
vMsbcl-10.10.20.17  IF6.IPV4 	10.10.13.17
vMsbcl-10.10.20.17  IF6.Port 	Pktl
vMsbcl-10.10.20.17  IF2.Vlanid 	313
vMsbcl-10.10.20.17  IF3.Vlanid 	309
vMsbcl-10.10.20.17  IF4.Vlanid 	311
vMsbcl-10.10.20.17  IF5.Vlanid 	312
vMsbcl-10.10.20.17  IFO.PrefixV6 60
vMsbcl-10.10.20.17  IFl.PrefixV4 24
vMsbcl-10.10.20.17  IF2.PrefixV6 64
vMsbcl-10.10.20.17  IF3.PrefixV6 64
vMsbc2-10.10.20.18  OamIP       ['10.10.20.17','10.10.20.18'] 
vMsbc2-10.10.20.18  Oam1Ip      10.10.20.17 
vMsbc2-10.10.20.18  Oam2Ip      10.10.20.18
vMsbc2-10.10.20.18  IF4.PrefixV4 26
vMsbc2-10.10.20.18  IF5.PrefixV4 26
vMsbc2-10.10.20.18  IF6.PrefixV4 24
vMsbc2-10.10.20.18  IFO.GWV6 	fd00:10:6b50:43AO::1
vMsbc2-10.10.20.18  IF0.IPV6 	FD00:10:6B50:43AO::Dl
vMsbc2-10.10.20.18  IFO.Port 	MgtO
vMsbc2-10.10.20.18  IFl.GWV4 	10.10.20.1
vMsbc2-10.10.20.18  IFl.IPV4 	10.10.20.18
vMsbc2-10.10.20.18  IFl.Port 	HaO
vMsbc2-10.10.20.18  IF2.GWV6 	FD00:10:6B50:4D74::1
vMsbc2-10.10.20.18  IF2.IPV6 	FD00:10:6B50:4D74::Dl
vMsbc2-10.10.20.18  IF2.Port 	PktO
vMsbc2-10.10.20.18  IF3.GWV6 	FD00:10:6B50:4D70::1
vMsbc2-10.10.20.18  IF3.IPV6 	FD00:10:6B50:4D70::A
vMsbc2-10.10.20.18  IF3.Port 	PktO
vMsbc2-10.10.20.18  IF4.GWV4 	10.54.226.129
vMsbc2-10.10.20.18  IF4.IPV4 	10.54.226.139
vMsbc2-10.10.20.18  IF4.Port 	PktO
vMsbc2-10.10.20.18  IF5.GWV4 	10.54.226.193
vMsbc2-10.10.20.18  IF5.IPV4 	10.54.226.203
vMsbc2-10.10.20.18  IF5.Port 	PktO
vMsbc2-10.10.20.18  IF6.GWV4 	10.10.13.1
vMsbc2-10.10.20.18  IF6.IPV4 	10.10.13.18
vMsbc2-10.10.20.18  IF6.Port 	Pktl
vMsbc2-10.10.20.18  IF2.Vlanid 	313
vMsbc2-10.10.20.18  IF3.Vlanid 	309
vMsbc2-10.10.20.18  IF4.Vlanid 	311
vMsbc2-10.10.20.18  IF5.Vlanid 	312
vMsbc2-10.10.20.18  IFO.PrefixV6 60
vMsbc2-10.10.20.18  IFl.PrefixV4 24
vMsbc2-10.10.20.18  IF2.PrefixV6 64
vMsbc2-10.10.20.18  IF3.PrefixV6 64
vMsbc2-10.10.20.18  IF4.PrefixV4 26
vMsbc2-10.10.20.18  IF5.PrefixV4 26
vMsbc2-10.10.20.18  IF6.PrefixV4 24
vMsbc3-10.10.20.19  OamIP       ['10.10.20.17','10.10.20.18'] 
vMsbc3-10.10.20.19  Oam1Ip      10.10.20.17 
vMsbc3-10.10.20.19  Oam2Ip      10.10.20.18
vMsbc3-10.10.20.19  IFO.GWV6 	fd00:10:6b50:43AO::1
vMsbc3-10.10.20.19  IF0.IPV6 	FD00:10:6B50:43AO::D2
vMsbc3-10.10.20.19  IFO.Port 	MgtO
vMsbc3-10.10.20.19  IFl.GWV4 	10.10.20.1
vMsbc3-10.10.20.19  IFl.IPV4 	10.10.20.19
vMsbc3-10.10.20.19  IFl.Port 	HaO
vMsbc3-10.10.20.19  IF2.GWV6 	FD00:10:6B50:4D74::1
vMsbc3-10.10.20.19  IF2.IPV6 	FD00:10:6B50:4D74::D2
vMsbc3-10.10.20.19  IF2.Port 	PktO
vMsbc3-10.10.20.19  IF3.GWV6 	FD00:10:6B50:4D70::1
vMsbc3-10.10.20.19  IF3.IPV6 	FD00:10:6B50:4D70::B
vMsbc3-10.10.20.19  IF3.Port 	PktO
vMsbc3-10.10.20.19  IF4.GWV4 	10.54.226.129
vMsbc3-10.10.20.19  IF4.IPV4 	10.54.226.140
vMsbc3-10.10.20.19  IF4.Port 	PktO
vMsbc3-10.10.20.19  IF5.GWV4 	10.54.226.193
vMsbc3-10.10.20.19  IF5.IPV4 	10.54.226.204
vMsbc3-10.10.20.19  IF5.Port 	PktO
vMsbc3-10.10.20.19  IF6.GWV4 	10.10.13.1
vMsbc3-10.10.20.19  IF6.IPV4 	10.10.13.19
vMsbc3-10.10.20.19  IF6.Port 	Pktl
vMsbc3-10.10.20.19  IF2.Vlanid 	313
vMsbc3-10.10.20.19  IF3.Vlanid 	309
vMsbc3-10.10.20.19  IF4.Vlanid 	311
vMsbc3-10.10.20.19  IFS.Vlanid 	312
vMsbc3-10.10.20.19  IFO.PrefixV6 60
vMsbc3-10.10.20.19  IFl.PrefixV4 24
vMsbc3-10.10.20.19  IF2.PrefixV6 64
vMsbc3-10.10.20.19  IF3.PrefixV6 64
vMsbc3-10.10.20.19  IF4.PrefixV4 26
vMsbc3-10.10.20.19  IF5.PrefixV4 26
vMsbc3-10.10.20.19  IF6.PrefixV4 24
vMsbc4-10.10.20.26  OamIP       ['10.10.20.17','10.10.20.18'] 
vMsbc4-10.10.20.26  Oam1Ip      10.10.20.17 
vMsbc4-10.10.20.26  Oam2Ip      10.10.20.18
vMsbc4-10.10.20.26  IFO.GWV6 	fd00:10:6b50:43AO::1
vMsbc4-10.10.20.26  IF0.IPV6 	FD00:10:6B50:43AO::D9
vMsbc4-10.10.20.26  IFO.Port 	MgtO
vMsbc4-10.10.20.26  IFl.GWV4 	10.10.20.1
vMsbc4-10.10.20.26  IFl.IPV4 	10.10.20.26
vMsbc4-10.10.20.26  IFl.Port 	HaO
vMsbc4-10.10.20.26  IF2.GWV6 	FD00:10:6B50:4D74::1
vMsbc4-10.10.20.26  IF2.IPV6 	FD00:10:6B50:4D74::D9
vMsbc4-10.10.20.26  IF2.Port 	PktO
vMsbc4-10.10.20.26  IF3.GWV6 	FD00:10:6B50:4D70::1
vMsbc4-10.10.20.26  IF3.IPV6 	FD00:10:6B50:4D70::12
vMsbc4-10.10.20.26  IF3.Port 	PktO
vMsbc4-10.10.20.26  IF4.GWV4 	10.54.226.129
vMsbc4-10.10.20.26  IF4.IPV4 	10.54.226.147
vMsbc4-10.10.20.26  IF4.Port 	PktO
vMsbc4-10.10.20.26  IF5.GWV4 	10.54.226.193
vMsbc4-10.10.20.26  IF5.IPV4 	10.54.226.211
vMsbc4-10.10.20.26  IF5.Port 	PktO
vMsbc4-10.10.20.26  IF6.GWV4 	10.10.13.1
vMsbc4-10.10.20.26  IF6.IPV4 	10.10.13.26
vMsbc4-10.10.20.26  IF6.Port 	Pktl
vMsbc4-10.10.20.26  IF2.Vlanid 	313
vMsbc4-10.10.20.26  IF3.Vlanid 	309
vMsbc4-10.10.20.26  IF4.Vlanid 	311
vMsbc4-10.10.20.26  IF5.Vlanid 	312
vMsbc4-10.10.20.26  IFO.PrefixV6 60
vMsbc4-10.10.20.26  IFl.PrefixV4 24
vMsbc4-10.10.20.26  IF2.PrefixV6 64
vMsbc4-10.10.20.26  IF3.PrefixV6 64
vMsbc4-10.10.20.26  IF4.PrefixV4 26
vMsbc4-10.10.20.26  IF5.PrefixV4 26
vMsbc4-10.10.20.26  IF6.PrefixV4 24
vMsbcS-10.10.20.11  OamIP       ['10.10.20.17','10.10.20.18'] 
vMsbcS-10.10.20.11  Oam1Ip      10.10.20.17 
vMsbcS-10.10.20.11  Oam2Ip      10.10.20.18
vMsbcS-10.10.20.11  IFO.GWV6 	fd00:10:6b50:43AO::1
vMsbcS-10.10.20.11  IF0.IPV6 	FD00:10:6B50:43AO::CA
vMsbcS-10.10.20.11  IFO.Port 	MgtO
vMsbcS-10.10.20.11  IFl.GWV4 	10.10.20.1
vMsbcS-10.10.20.11  IFl.IPV4 	10.10.20.11
vMsbcS-10.10.20.11  IFl.Port 	HaO
vMsbcS-10.10.20.11  IF2.GWV6 	FD00:10:6B50:4D74::1
vMsbcS-10.10.20.11  IF2.IPV6 	FD00:10:6B50:4D74::CA
vMsbcS-10.10.20.11  IF2.Port 	PktO
vMsbcS-10.10.20.11  IF3.GWV6 	FD00:10:6B50:4D70::1
vMsbcS-10.10.20.11  IF3.IPV6 	FD00:10:6B50:4D70::3
vMsbcS-10.10.20.11  IF3.Port 	PktO
vMsbcS-10.10.20.11  IF4.GWV4 	10.54.226.129
vMsbcS-10.10.20.11  IF4.IPV4 	10.54.226.132
vMsbcS-10.10.20.11  IF4.Port 	PktO
vMsbcS-10.10.20.11  IF5.GWV4 	10.54.226.193
vMsbcS-10.10.20.11  IF5.IPV4 	10.54.226.196
vMsbcS-10.10.20.11  IF5.Port 	PktO
vMsbcS-10.10.20.11  IF6.GWV4 	10.10.13.1
vMsbcS-10.10.20.11  IF6.IPV4 	10.10.13.11
vMsbcS-10.10.20.11  IF6.Port 	Pktl
vMsbcS-10.10.20.11  IF2.Vlanid 	313
vMsbcS-10.10.20.11  IF3.Vlanid 	309
vMsbcS-10.10.20.11  IF4.Vlanid 	311
vMsbcS-10.10.20.11  IFS.Vlanid 	312
vMsbcS-10.10.20.11  IFO.PrefixV6 60
vMsbcS-10.10.20.11  IFl.PrefixV4 24
vMsbcS-10.10.20.11  IF2.PrefixV6 64
vMsbcS-10.10.20.11  IF3.PrefixV6 64
vMsbcS-10.10.20.11  IF4.PrefixV4 26
vMsbcS-10.10.20.11  IF5.PrefixV4 26
vMsbcS-10.10.20.11  IF6.PrefixV4 24
[ok] [2017-08-04 12:26:35]


The metavariable names are used for configuration:

set addressContext default ipInterfaceGroup LIG1 ipInterface LIG1_V4 ipVarV4 IF2.IPV4 prefixVarV4 IF2.PrefixV4 vlanTagVar IF5.VlanId portName pkt0 state enabled mode inService
set addressContext default ipInterfaceGroup LIG2 ipInterface LIG2_V4 ipVarV4 IF3.IPV4 prefixVarV4 IF3.PrefixV4 ipPublicVarV4 IF3.FIPV4 portName pkt1 state enabled mode inService
set addressContext default zone ZONE_AS sipSigPort 3 ipInterfaceGroup LIG2 ipVarV4 IF3.IPV4 ipPublicVarV4 IF3.FIPV4 state enabled
set system dsbc dsbcSigPort ipInterfaceGroup SRRIMSMediaIPv6 ipVarV6 PKT0_V02_ALT_IP_01.IP mode inService state enabled
commit