diff --git a/scapy/arch/linux.py b/scapy/arch/linux.py index 8e9d5fb1b7c4447bd78543f8d64d278f0212de39..68089bd00b718721cf1851756d2a5b010354f4f9 100644 --- a/scapy/arch/linux.py +++ b/scapy/arch/linux.py @@ -251,7 +251,7 @@ def read_routes6(): cset = ['::1'] else: devaddrs = filter(lambda x: x[2] == dev, lifaddr) - cset = scapy.utils6.construct_source_candidate_set(d, dp, devaddrs) + cset = scapy.utils6.construct_source_candidate_set(d, dp, devaddrs, LOOPBACK_NAME) if len(cset) != 0: routes.append((d, dp, nh, dev, cset)) diff --git a/scapy/arch/unix.py b/scapy/arch/unix.py index e2f5233af3a36be46718f0641409544c9decd9bc..11452c5e300503ff50beeca91c3e1bb217f79239 100644 --- a/scapy/arch/unix.py +++ b/scapy/arch/unix.py @@ -181,7 +181,7 @@ def read_routes6(): nh = '::' else: devaddrs = filter(lambda x: x[2] == dev, lifaddr) - cset = construct_source_candidate_set(d, dp, devaddrs) + cset = construct_source_candidate_set(d, dp, devaddrs, scapy.arch.LOOPBACK_NAME) if len(cset) != 0: routes.append((d, dp, nh, dev, cset)) diff --git a/scapy/utils6.py b/scapy/utils6.py index 51965428e55ac37c63a444482b4490848be017c1..4f9b096734d6c48a59d0b8a96ade79ba37ae3841 100644 --- a/scapy/utils6.py +++ b/scapy/utils6.py @@ -12,7 +12,7 @@ from data import * from utils import * -def construct_source_candidate_set(addr, plen, laddr): +def construct_source_candidate_set(addr, plen, laddr, loname): """ Given all addresses assigned to a specific interface ('laddr' parameter), this function returns the "candidate set" associated with 'addr/plen'. @@ -34,7 +34,7 @@ def construct_source_candidate_set(addr, plen, laddr): cset = filter(lambda x: x[1] == IPV6_ADDR_SITELOCAL, laddr) elif in6_ismaddr(addr): if in6_ismnladdr(addr): - cset = [('::1', 16, LOOPBACK_NAME)] + cset = [('::1', 16, loname)] elif in6_ismgladdr(addr): cset = filter(lambda x: x[1] == IPV6_ADDR_GLOBAL, laddr) elif in6_ismlladdr(addr):