libnl 3.2.23-rc1 released

Teto mattator at gmail.com
Tue Oct 22 10:19:17 EDT 2013


HI,

I've done a bit of work on the python bindings here:
https://github.com/teto/libnl/tree/master/python/netlink
I've got a few tests for route.py & fib_lookup running, I could not
test my rule.py yet.

Those bindings might not be ready for an integration yet but I mention
them in case others are interested or if you have comments on how I
could improve them.

Nevertheless there are 3 small modification I wish you would integrate:
-add parenthesis in link-doxygen.py to make it compatible with python3
like 2nd modif here
(https://github.com/teto/libnl/commit/7ad38a96d0f6a68c0e23ad0de40cc2d8c326073c)
-and in doc/README that you actually write the make target used to
generate the doc (I believe it's gendoc ?)
-in route/capi.i, you could check that the callbacks indeed are
callable functions.
 int py_nl_cb_set(struct nl_cb *cb, enum nl_cb_type t, enum nl_cb_kind k,
     PyObject *func, PyObject *a)
 {
@@ -775,6 +776,14 @@ int py_nl_cb_set(struct nl_cb *cb, enum
nl_cb_type t, enum nl_cb_kind k,
   if (k == NL_CB_CUSTOM) {
     Py_XINCREF(func);
     Py_XINCREF(a);
+        /* todo check if it is null or a callable ?
+        it is a callable expecting 2 arguments
+        Copy or factorize in other functions
+        */
+        if (!PyCallable_Check(func)) {
+            PyErr_SetString(PyExc_TypeError, "Need a callable object!");
+            return -1;
+        }
     info->cbtype[t].cbf = func;
     info->cbtype[t].cba = a;
     return nl_cb_set(cb, t, k,

Best regards

Matt


2013/10/22 Thomas Graf <tgraf at suug.ch>:
> Hi
>
> I am pleased to announce the availability of libnl 3.2.23-rc1.
>
> NOTE
>   This is a release candidate.
>   The final 3.2.23 release will occur on Oct 29.
>
> I kindly request everybody to test the tarball and report bugs to
> the mailing list.
>
> Source:
> http://www.infradead.org/~tgr/libnl/files/libnl-3.2.23-rc1.tar.gz
>
> Thanks to everyone who contributed to the upcomming release:
>
> Andrew Collins (2):
>       Default to comparing all attributes if no oo_id_attrs defined
>       Handle -NLE_AGAIN in nl_cache_mngr_data_ready
>
> Arend van Spriel (12):
>       add support functions for attributes and callback handlers
>       add python module for generic netlink library
>       add generic netlink functions to swig
>       add python examples using swig provided api
>       nl_cb: store nl_cb_type in struct nl_cb
>       python: rework netlink callback handling
>       use Callback object constructing Socket
>       python: allow callback function to be a class method
>       python: remove unnecessary callback type definitions
>       python: fix typo in Socket::__str__() function
>       python: add send and receive functions to Socket class
>       python: remove use of PyArg_ParseTuple() for callback result
>
> Holger Eitzenberger (4):
>       netfilter/queue: generalize nfnl_queue_msg_build_verdict()
>       netfilter/queue: introduce nfnl_queue_msg_send_verdict_batch()
>       netfilter/ct: support optional CTA_TIMESTAMP attribute
>       netfilter/ct: support optional CTA_ZONE attribute
>
> Jiri Pirko (2):
>       link: add support for IFLA_PHYS_PORT_ID
>       fix double free caused by freeing link af_data in rtnl_link_set_family()
>
> Joe Damato (5):
>       handle the case where 0 is passed to nl_size2str
>       Add support for inet diag Netlink protocol.
>       Handle the case where nl_msec2str is passed 0 msecs
>       Add idiag-socket-details
>       More safely parse vegas info and mem info.
>
> Julien BERNARD (1):
>       nl-link-set: Add --state option
>
> Michael Braun (1):
>       Add macvlan support
>
> Nicolas PLANEL (6):
>       python: fixup VLANLink() initialization
>       route/link: fixup link->l_af_ops must be set for some kind of links
>       test: add bridge creation sample
>       python: add basic netlink protocol bridge interface support
>       test: add python bridge testing sample
>       python: add bridge flags API
>
> Olaf Hering (1):
>       nl: Fix comment typo on recvmsgs
>
> Teto (1):
>       Fixed ObjIterator for python3, fixed output of _color and added missing parameter to nl_cache_resync
>
> Thomas Graf (11):
>       Merge branch 'master' of https://github.com/michael-dev/libnl
>       msg: Avoid returning a negative value for nlmsg_attrlen()
>       tests: use AM_CFLAGS instead of CFLAGS directly
>       socket: Warn via debug message if local port namespace is exhausted
>       cache: Return -NLE_PROTO_MISMATCH if socket provided mismatches cache protocol
>       Merge pull request #45 from chibacchie/vxlan
>       Merge pull request #44 from sassanosystems/idiag
>       Enable linker versioning
>       Merge branch 'recvmsgs-comment-typo' of git://github.com/olafhering/libnl into olafhering-recvmsgs-c
>       obj: Check for NULL pointer in nl_object_clone()
>       libnl-3.2.23-rc1 release
>
> Thomas Haller (1):
>       rtnl-addr: set ifa_flags when creating/updating address
>
> Yasunobu Chiba (1):
>       Add VXLAN support.
>
> chantra (1):
>       Call to_msg_fill_raw when defined to_msg_fill is NULL
>
> maksqwe (1):
>       Priority of the '<' operator is higher than that of the '=' operator
>
>
> _______________________________________________
> libnl mailing list
> libnl at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libnl



More information about the libnl mailing list