diff options
author | Neale Ranns <nranns@cisco.com> | 2017-04-19 05:24:40 -0700 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2017-04-19 20:23:34 +0000 |
commit | 2a3ea49d5cc224ffb2cf02bacaf0c02ddae12b86 (patch) | |
tree | 8b6a6176a3129c14c70308fdc5ab338ddc06523d /test/util.py | |
parent | c06eeb0e3c9c1a9fa8f913e2d785b03220bfdabd (diff) |
Learn IP6 link-local ND entries from NSs sourced from link-local address
Change-Id: I4c3ce4d58df7977490fc94991291422ea1e31ee3
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'test/util.py')
-rw-r--r-- | test/util.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/test/util.py b/test/util.py index d6b77f9d3c3..aeba2ab4ffe 100644 --- a/test/util.py +++ b/test/util.py @@ -4,6 +4,7 @@ import socket import sys from abc import abstractmethod, ABCMeta from cStringIO import StringIO +from scapy.layers.inet6 import in6_mactoifaceid def ppp(headline, packet): @@ -52,6 +53,12 @@ def mactobinary(mac): return mac.replace(':', '').decode('hex') +def mk_ll_addr(mac): + euid = in6_mactoifaceid(mac) + addr = "fe80::" + euid + return addr + + class NumericConstant(object): __metaclass__ = ABCMeta @@ -101,10 +108,22 @@ class Host(object): """ IPv6 address of remote host - raw, suitable as API parameter.""" return socket.inet_pton(socket.AF_INET6, self._ip6) - def __init__(self, mac=None, ip4=None, ip6=None): + @property + def ip6_ll(self): + """ IPv6 link-local address - string """ + return self._ip6_ll + + @property + def ip6n_ll(self): + """ IPv6 link-local address of remote host - + raw, suitable as API parameter.""" + return socket.inet_pton(socket.AF_INET6, self._ip6_ll) + + def __init__(self, mac=None, ip4=None, ip6=None, ip6_ll=None): self._mac = mac self._ip4 = ip4 self._ip6 = ip6 + self._ip6_ll = ip6_ll class ForeignAddressFactory(object): |