diff --git a/src/sonic-config-engine/minigraph.py b/src/sonic-config-engine/minigraph.py
index f30e668251..ba81e8faf7 100644
--- a/src/sonic-config-engine/minigraph.py
+++ b/src/sonic-config-engine/minigraph.py
@@ -1512,8 +1512,10 @@ def get_mux_cable_entries(mux_cable_ports, neighbors, devices):
server_ipv4_lo_prefix = ipaddress.ip_network(UNICODE_TYPE(server_ipv4_lo_addr))
entry['server_ipv4'] = str(server_ipv4_lo_prefix)
- if 'lo_addr_v6' in devices[neighbor]:
- entry['server_ipv6'] = devices[neighbor]['lo_addr_v6']
+ if 'lo_addr_v6' in devices[neighbor] and devices[neighbor]['lo_addr_v6'] is not None:
+ server_ipv6_lo_addr = devices[neighbor]['lo_addr_v6'].split('/')[0]
+ server_ipv6_lo_prefix = ipaddress.ip_network(UNICODE_TYPE(server_ipv6_lo_addr))
+ entry['server_ipv6'] = str(server_ipv6_lo_prefix)
mux_cable_table[intf] = entry
else:
print("Warning: no server IPv4 loopback found for {}, skipping mux cable table entry".format(neighbor))
diff --git a/src/sonic-config-engine/tests/simple-sample-graph-case.xml b/src/sonic-config-engine/tests/simple-sample-graph-case.xml
index d9a21158c4..ce0174adc8 100644
--- a/src/sonic-config-engine/tests/simple-sample-graph-case.xml
+++ b/src/sonic-config-engine/tests/simple-sample-graph-case.xml
@@ -303,7 +303,7 @@
10.10.10.1/32
- fe80::0001/128
+ fe80::0001/80
10.0.0.1/32
diff --git a/src/sonic-config-engine/tests/test_minigraph_case.py b/src/sonic-config-engine/tests/test_minigraph_case.py
index cf8a7557ae..6fa7c5352d 100644
--- a/src/sonic-config-engine/tests/test_minigraph_case.py
+++ b/src/sonic-config-engine/tests/test_minigraph_case.py
@@ -165,7 +165,7 @@ class TestCfgGenCaseInsensitive(TestCase):
'server1': {
'hwsku': 'server-sku',
'lo_addr': '10.10.10.1/32',
- 'lo_addr_v6': 'fe80::0001/128',
+ 'lo_addr_v6': 'fe80::0001/80',
'mgmt_addr': '10.0.0.1/32',
'type': 'Server'
},
@@ -275,12 +275,12 @@ class TestCfgGenCaseInsensitive(TestCase):
'Ethernet4': {
'state': 'auto',
'server_ipv4': '10.10.10.1/32',
- 'server_ipv6': 'fe80::0001/128'
+ 'server_ipv6': 'fe80::1/128'
},
'Ethernet8': {
'state': 'auto',
'server_ipv4': '10.10.10.2/32',
- 'server_ipv6': 'fe80::0002/128'
+ 'server_ipv6': 'fe80::2/128'
}
}