On Wed, 2018-03-14 at 00:03 +0000, Javier Arteaga wrote:
> Add support for a new wireguard link type to the platform code. For
> now
> this only covers querying existing links via Generic Netlink and
> parsing
> them into platform objects.
> ---
> +
> +static NMPObject *
> +_parse_lnk_wireguard (const char *kind, const char *ifname)
> +{
> +     nm_auto_nmpobj NMPObject *obj = NULL;
> +     NMPObject *obj_result = NULL;
> +     struct nl_sock *sock;
> +     nm_auto_nlmsg struct nl_msg *msg = NULL;
> +     struct nl_cb cb = {
> +             .valid_cb = _wireguard_parse_getdevice,
> +     };
> +     static int family_id;

Hi,

all the "parsing" done here is basically requesting/querying everyhing
via genl.

It would be really nice, to only request new data when necessary, and
otherwise keep the current from the cache.

But how to notice changes?

Maybe the wireguard netlink API should expose a version id both on rtnl
and genl. Then, if we receive a new (different) version id on rtnl, we
know we need to refetch everything.

Or does the wireguard API already provide some functionality about
this? Should we instead register to signals on genl? That would be
doable, but cumbersome.


best,
Thomas

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to