facebookarchive / gnlpy

A generic netlink library for python.
Other
161 stars 42 forks source link

netlink.py AttrListPacker: alen is not enough #32

Open mikezsin opened 4 years ago

mikezsin commented 4 years ago

kernel: 5.4.6-gentoo

` ipPools = ipvsC.get_pools() File "/root/.local/lib64/python3.6/site-packages/gnlpy/ipvs.py", line 581, in get_pools dests = self.get_dests(svc_lst) File "/root/.local/lib64/python3.6/site-packages/gnlpy/ipvs.py", line 618, in get_dests dst_lst = dst_msg.get_attr_list().get('dest') File "/root/.local/lib64/python3.6/site-packages/gnlpy/netlink.py", line 233, in get return self.attrs[key] KeyError: 2

`

nlmsg

trace-new.log

mikezsin commented 4 years ago

https://lwn.net/Articles/785241/

oblazek commented 4 years ago

yeah getting similar exception in 5.3.0-62-generic with KeyError 13.. haven't looked deeply into what netlink does here, but can be fixed and seems to work if you just add try/except into unpack method and return attr_list without any change on KeyError.