Skip to content

NDB fails to delete IPv6 address from interface. 0.6.11 #926

Closed
@carloslockward

Description

@carloslockward

I noticed this error while trying to delete an ipv6 address: illegal IP address string passed to inet_pton

Exception

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/auth_manager.py", line 67, in guard
    return f(obj, *argv, **kwarg)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/objects/__init__.py", line 706, in commit
    self.apply(mode='commit')
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/auth_manager.py", line 67, in guard
    return f(obj, *argv, **kwarg)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/objects/interface.py", line 834, in apply
    super(Interface, self).apply(rollback, req_filter, mode)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/auth_manager.py", line 67, in guard
    return f(obj, *argv, **kwarg)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/objects/__init__.py", line 994, in apply
    raise obj
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/objects/interface.py", line 658, in do_del_ip
    ret.append(method())
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/auth_manager.py", line 67, in guard
    return f(obj, *argv, **kwarg)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/objects/__init__.py", line 706, in commit
    self.apply(mode='commit')
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/auth_manager.py", line 67, in guard
    return f(obj, *argv, **kwarg)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/objects/__init__.py", line 872, in apply
    (self.sources[self['target']].api(self.api, method, **req))
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/ndb/source.py", line 287, in api
    return getattr(self.nl, name)(*argv, **kwarg)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/iproute/linux.py", line 1584, in addr
    ret = tuple(ret)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/netlink/nlsocket.py", line 984, in nlm_request
    self.put(msg, msg_type, msg_flags, msg_seq=msg_seq)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/netlink/nlsocket.py", line 667, in put
    self.sendto_gate(msg, addr)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/netlink/rtnl/iprsocket.py", line 71, in _gate_linux
    msg.encode()
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/netlink/__init__.py", line 1089, in encode
    offset = self.encode_nlas(offset)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/netlink/__init__.py", line 1360, in encode_nlas
    nla_instance.encode()
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/netlink/__init__.py", line 1086, in encode
    offset, diff = self.ft_encode(offset)
  File "/home/carloscr/miniconda3/lib/python3.9/site-packages/pr2modules/netlink/__init__.py", line 1853, in ft_encode
    self['value'] = inet_pton(family, self.value)

Steps to reproduce

  1. Create an ipv6 address like: ndb.interfaces["enp0s31f6"].ipaddr.create("beef:feed::1/112").commit()
  2. Try to delete it like: ndb.interfaces["enp0s31f6"].del_ip("beef:feed::1/112").commit()

Notes

Issue is not present on pyroute2 version 0.6.9

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions