+
+ # TD: Add configuration for secondary IPv4 and IPv6 addresses to the bridge.
+ if interface[interface_tag_ids]:
+ filter = {interface_tag_id : interface[interface_tag_ids]}
+ try:
+ settings = plc.GetInterfaceTags(filter)
+ except:
+ logger.log("net:InitInterfaces FATAL: failed call GetInterfaceTags({})"
+ .format(filter))
+ failedToGetSettings = True
+ continue # on to the next interface
+
+ for setting in settings:
+ settingname = setting[name_key].upper()
+ if (re.search('^IPADDR[0-9]+$|^NETMASK[0-9]+$', settingname)):
+ # TD: Added match for secondary IPv4 configuration.
+ bridgeDetails[settingname]=setting['value']
+ # IPv6 support on IPv4 interface
+ elif settingname in ('IPV6ADDR', 'IPV6_DEFAULTGW',
+ 'IPV6ADDR_SECONDARIES', 'IPV6_AUTOCONF'):
+ # TD: Added IPV6_AUTOCONF.
+ bridgeDetails[settingname] = setting['value']
+ bridgeDetails['IPV6INIT'] = 'yes'
+
+ bridgeDevices.append(bridgeName)
+ bridgeDetails['TYPE'] = bridgeType
+ if bridgeType == 'OVSBridge':
+ bridgeDetails['DEVICETYPE'] = 'ovs'
+ if bridgeDetails['BOOTPROTO'] == 'dhcp':
+ del bridgeDetails['BOOTPROTO']
+ bridgeDetails['OVSBOOTPROTO'] = 'dhcp'
+ bridgeDetails['OVSDHCPINTERFACES'] = ifname