facebookarchive / gnlpy

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

[Kernel] Support STATS64 in recent ipvs stack #4

Closed vmauge closed 8 years ago

vmauge commented 8 years ago

Recent kernel add a 64bits version for all counters in the netlink reply. Current code crash with folling error :

  $./ipvs-dump_ori.par
  File "/usr/local/fbcode/gcc-4.8.1-glibc-2.17-fb/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/fbcode/gcc-4.8.1-glibc-2.17-fb/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "__main__.py", line 642, in <module>
  File "__main__.py", line 494, in __invoke_main
  File "/usr/local/fbcode/gcc-4.8.1-glibc-2.17-fb/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/fbcode/gcc-4.8.1-glibc-2.17-fb/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "gnlpy/examples/ipvs_dump.py", line 61, in <module>
  File "gnlpy/examples/ipvs_dump.py", line 44, in main
  File "gnlpy/ipvs.py", line 483, in get_pools
  File "gnlpy/netlink.py", line 502, in query
  File "gnlpy/netlink.py", line 488, in _recv
  File "gnlpy/netlink.py", line 358, in deserialize_message
  File "gnlpy/netlink.py", line 312, in unpack
  File "gnlpy/netlink.py", line 249, in unpack
  File "gnlpy/netlink.py", line 246, in unpack
  KeyError: 12

I confirmed the new code worked on recent kernel. On old kernel, I also ensure the output of the tool was the same.