Univention Bugzilla – Attachment 5797 Details for
Bug 33986
not possible to add multiple IPv6 addresses in same subnet to an interface
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Fix duplicate IPv6 detection, add prefix for multiple IPv6
33986_ubs-interfaces.diff (text/plain), 2.60 KB, created by
Philipp Hahn
on 2014-02-14 19:27:40 CET
(
hide
)
Description:
Fix duplicate IPv6 detection, add prefix for multiple IPv6
Filename:
MIME Type:
Creator:
Philipp Hahn
Created:
2014-02-14 19:27:40 CET
Size:
2.60 KB
patch
obsolete
>diff --git a/branches/ucs-3.2/ucs-3.2-1/base/univention-base-files/conffiles/etc/network/interfaces.d/10-default b/branches/ucs-3.2/ucs-3.2-1/base/univention-base-files/conffiles/etc/network/interfaces.d/10-default >index 44bdbdb..fc25e69 100644 >--- a/branches/ucs-3.2/ucs-3.2-1/base/univention-base-files/conffiles/etc/network/interfaces.d/10-default >+++ b/branches/ucs-3.2/ucs-3.2-1/base/univention-base-files/conffiles/etc/network/interfaces.d/10-default >@@ -69,18 +69,19 @@ def ipv6(interfaces): > > # Validate addresses > interface_addresses = {} >- for iface, name in interfaces.ipv6_interfaces: >- addr = iface.ipv6_address(name) >- if addr is False: >- print '# ERROR: invalid IPv6 address in interfaces/%s/ipv6/%s/*' % \ >- (iface.name, name) >- continue >- addresses = interface_addresses.setdefault(iface.name, set()) >- if addr in addresses: >- print '# ERROR: duplicate IPv6 address in interfaces/%s/ipv6/%s/*' % \ >- (iface.name, name) >- continue >- addresses.add(addr) >+ for _name, iface in interfaces.all_interfaces: >+ for name in iface.ipv6_names: >+ addr = iface.ipv6_address(name) >+ if not addr: >+ print '# ERROR: incomplete/invalid IPv6 address in interfaces/%s/ipv6/%s/*' % \ >+ (iface.name, name) >+ continue >+ addresses = interface_addresses.setdefault(iface.name, set()) >+ if addr.ip in addresses: >+ print '# ERROR: duplicate IPv6 address in interfaces/%s/ipv6/%s/*' % \ >+ (iface.name, name) >+ continue >+ addresses.add(addr.ip) > > # configure interface > for iface, names in groupby(interfaces.ipv6_interfaces, itemgetter(0)): >@@ -88,8 +89,6 @@ def ipv6(interfaces): > addresses = interface_addresses[iface.name] > except KeyError: > continue # validation failed >- if not addresses: >- continue # validation failed > > auto(iface.name, iface.start) > print 'iface %s inet6 static' % (iface.name,) >@@ -97,7 +96,7 @@ def ipv6(interfaces): > for i, (iface, name) in enumerate(names): > addr = iface.ipv6_address(name) > try: >- addresses.remove(addr) >+ addresses.remove(addr.ip) > except KeyError: > continue # invalid or duplicate > print '# %s' % (name,) >@@ -105,8 +104,8 @@ def ipv6(interfaces): > print '\taddress %s' % (addr.ip,) > print '\tnetmask %s' % (addr.prefixlen,) > else: >- print '\tup ip -6 addr add %s dev %s' % (addr.ip, iface.name) >- print '\tdown ip -6 addr del %s dev %s' % (addr.ip, iface.name) >+ print '\tup ip -6 addr add %s dev %s' % (addr, iface.name) >+ print '\tdown ip -6 addr del %s dev %s' % (addr, iface.name) > # check if gateway is local on this interface > if gateway: > if addr.prefixlen == addr.max_prefixlen and \
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 33986
:
5748
| 5797