Hello community,

here is the log from the commit of package wicked for openSUSE:Factory checked 
in at 2016-06-02 12:37:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wicked (Old)
 and      /work/SRC/openSUSE:Factory/.wicked.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wicked"

Changes:
--------
--- /work/SRC/openSUSE:Factory/wicked/wicked.changes    2016-05-23 
16:37:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wicked.new/wicked.changes       2016-06-02 
12:37:27.000000000 +0200
@@ -1,0 +2,8 @@
+Fri May 27 09:38:12 UTC 2016 - [email protected]
+
+- version 0.6.35
+- spec: removed ppp service template macro calls (fate#317976)
+- bonding: support for new v3.7.1 netlink options in 4.4 kernel
+- linux: update included headers to 4.4, add if_addr.h
+
+-------------------------------------------------------------------

Old:
----
  wicked-0.6.34.tar.bz2

New:
----
  wicked-0.6.35.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wicked.spec ++++++
--- /var/tmp/diff_new_pack.pKazJo/_old  2016-06-02 12:37:28.000000000 +0200
+++ /var/tmp/diff_new_pack.pKazJo/_new  2016-06-02 12:37:28.000000000 +0200
@@ -18,7 +18,7 @@
 
 %define                release_prefix  %{?snapshot:%{snapshot}}%{!?snapshot:0}
 Name:           wicked
-Version:        0.6.34
+Version:        0.6.35
 Release:        %{release_prefix}.0.0
 Summary:        Network configuration infrastructure
 License:        GPL-2.0
@@ -238,10 +238,10 @@
 if test "x${_id##*/}" = "xnetwork.service" -a -x /etc/init.d/network ; then
        /etc/init.d/network stop-all-dhcp-clients || :
 fi
-%{service_add_pre wicked.service wickedd-pppd@*.service}
+%{service_add_pre wicked.service}
 
 %post service
-%{service_add_post wicked.service wickedd-pppd@*.service}
+%{service_add_post wicked.service}
 # See bnc#843526: presets do not apply for upgrade / are not sufficient
 #                 to handle sysconfig-network|wicked -> wicked migration
 _id=`readlink /etc/systemd/system/network.service 2>/dev/null` || :
@@ -257,11 +257,11 @@
 # - stopping wickedd should be sufficient ... other just to be sure.
 # - stopping of the wicked.service does not stop network, but removes
 #   the wicked.service --> network.service link and resets its status.
-%{service_del_preun wickedd.service wickedd-auto4.service 
wickedd-dhcp4.service wickedd-dhcp6.service wickedd-nanny.service 
wicked.service wickedd-pppd@*.service}
+%{service_del_preun wickedd.service wickedd-auto4.service 
wickedd-dhcp4.service wickedd-dhcp6.service wickedd-nanny.service 
wicked.service}
 
 %postun service
 # restart wickedd after upgrade
-%{service_del_postun wickedd.service wickedd-pppd@*.service}
+%{service_del_postun wickedd.service}
 
 %else
 

++++++ wicked-0.6.34.tar.bz2 -> wicked-0.6.35.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/ChangeLog new/wicked-0.6.35/ChangeLog
--- old/wicked-0.6.34/ChangeLog 2016-05-20 15:54:32.000000000 +0200
+++ new/wicked-0.6.35/ChangeLog 2016-05-27 11:38:35.000000000 +0200
@@ -1,3 +1,40 @@
+commit fa2b1bfe9a131b23da68ecc53782bb0ae69ea114
+Author: Marius Tomaschewski <[email protected]>
+Date:   Fri May 27 11:28:39 2016 +0200
+
+    version 0.6.35
+
+commit defc5ecf4c63f33962610f131d84c4d1bec60de1
+Merge: d84174a 6af0349
+Author: Marius Tomaschewski <[email protected]>
+Date:   Thu May 26 14:15:26 2016 +0200
+
+    Merge pull request #651 from mtomaschewski/no-ppp-spec-macros
+    
+    spec: removed ppp service template macro calls (fate#317976)
+
+commit 6af03491e42147327f5f0b25794ae026dd5f43ee
+Author: Marius Tomaschewski <[email protected]>
+Date:   Wed May 25 18:12:02 2016 +0200
+
+    spec: removed ppp service template macro calls (fate#317976)
+    
+    This are static service templates to start pppd, which do
+    not need any enable/disable or restart on wicked reinstall
+    as they do not use wicked binaries.
+
+commit e8aa09a10a87d7ea302b10464e456df24f0070ad
+Author: Marius Tomaschewski <[email protected]>
+Date:   Wed May 25 17:56:55 2016 +0200
+
+    bonding: support for new v3.7.1 netlink options
+
+commit 0d728a20dba398ee699f9653e6486dda4ae59662
+Author: Marius Tomaschewski <[email protected]>
+Date:   Tue May 24 17:37:34 2016 +0200
+
+    linux: update included headers to 4.4, add if_addr.h
+
 commit bd48dae821c3af0a0168a0764c550541e5780040
 Author: Pawel Wieczorkiewicz <[email protected]>
 Date:   Fri May 20 15:42:06 2016 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/VERSION new/wicked-0.6.35/VERSION
--- old/wicked-0.6.34/VERSION   2016-05-20 15:52:14.000000000 +0200
+++ new/wicked-0.6.35/VERSION   2016-05-27 11:28:13.000000000 +0200
@@ -1 +1 @@
-0.6.34
+0.6.35
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/client/compat.c 
new/wicked-0.6.35/client/compat.c
--- old/wicked-0.6.34/client/compat.c   2016-05-20 15:37:28.000000000 +0200
+++ new/wicked-0.6.35/client/compat.c   2016-05-26 14:18:14.000000000 +0200
@@ -451,6 +451,18 @@
                        xml_node_new_element("ad-select", child,
                                ni_bonding_ad_select_name(bond->ad_select));
                }
+               if (verbose || bond->ad_user_port_key) {
+                       xml_node_new_element("ad-user-port-key", child,
+                               ni_sprint_uint(bond->ad_user_port_key));
+               }
+               if (verbose || bond->ad_actor_sys_prio != 65535) {
+                       xml_node_new_element("ad-actor-sys-prio", child,
+                               ni_sprint_uint(bond->ad_actor_sys_prio));
+               }
+               if (bond->ad_actor_system.len) {
+                       xml_node_new_element("ad-actor-system", child,
+                               ni_link_address_print(&bond->ad_actor_system));
+               }
                if (verbose || bond->min_links > 0) {
                        xml_node_new_element("min-links", child,
                                        ni_sprint_uint(bond->min_links));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/configure new/wicked-0.6.35/configure
--- old/wicked-0.6.34/configure 2016-05-20 15:53:19.000000000 +0200
+++ new/wicked-0.6.35/configure 2016-05-27 11:37:31.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for wicked 0.6.34.
+# Generated by GNU Autoconf 2.69 for wicked 0.6.35.
 #
 # Report bugs to <http://bugs.opensuse.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='wicked'
 PACKAGE_TARNAME='wicked'
-PACKAGE_VERSION='0.6.34'
-PACKAGE_STRING='wicked 0.6.34'
+PACKAGE_VERSION='0.6.35'
+PACKAGE_STRING='wicked 0.6.35'
 PACKAGE_BUGREPORT='http://bugs.opensuse.org'
 PACKAGE_URL='https://github.com/openSUSE/wicked'
 
@@ -1385,7 +1385,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures wicked 0.6.34 to adapt to many kinds of systems.
+\`configure' configures wicked 0.6.35 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1455,7 +1455,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of wicked 0.6.34:";;
+     short | recursive ) echo "Configuration of wicked 0.6.35:";;
    esac
   cat <<\_ACEOF
 
@@ -1609,7 +1609,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-wicked configure 0.6.34
+wicked configure 0.6.35
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2208,7 +2208,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by wicked $as_me 0.6.34, which was
+It was created by wicked $as_me 0.6.35, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3071,7 +3071,7 @@
 
 # Define the identity of the package.
  PACKAGE='wicked'
- VERSION='0.6.34'
+ VERSION='0.6.35'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -15040,7 +15040,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by wicked $as_me 0.6.34, which was
+This file was extended by wicked $as_me 0.6.35, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15107,7 +15107,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-wicked config.status 0.6.34
+wicked config.status 0.6.35
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/include/wicked/bonding.h 
new/wicked-0.6.35/include/wicked/bonding.h
--- old/wicked-0.6.34/include/wicked/bonding.h  2016-05-20 15:26:35.000000000 
+0200
+++ new/wicked-0.6.35/include/wicked/bonding.h  2016-05-26 14:18:14.000000000 
+0200
@@ -130,6 +130,9 @@
        unsigned int            packets_per_slave;
        ni_bool_t               tlb_dynamic_lb;
        unsigned int            lp_interval;
+       uint16_t                ad_user_port_key;
+       uint16_t                ad_actor_sys_prio;
+       ni_hwaddr_t             ad_actor_system;
        struct ni_bonding_ad_info {
                unsigned int    aggregator_id;
                unsigned int    ports;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/schema/bonding.xml 
new/wicked-0.6.35/schema/bonding.xml
--- old/wicked-0.6.34/schema/bonding.xml        2016-05-20 15:26:35.000000000 
+0200
+++ new/wicked-0.6.35/schema/bonding.xml        2016-05-26 14:18:14.000000000 
+0200
@@ -64,6 +64,9 @@
    <xmit-hash-policy type="builtin-bonding-xmit-hash-policy"/>
    <lacp-rate type="builtin-bonding-lacp-rate"/>
    <ad-select type="builtin-bonding-ad-select"/>
+   <ad-user-port-key  type="uint16"/>
+   <ad-actor-sys-prio type="uint16"/>
+   <ad-actor-system   type="ethernet-address"/>
    <fail-over-mac type="builtin-bonding-fail-over-mac"/>
    <primary-reselect type="builtin-bonding-primary-reselect"/>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/Makefile.am 
new/wicked-0.6.35/src/Makefile.am
--- old/wicked-0.6.34/src/Makefile.am   2016-05-20 15:37:28.000000000 +0200
+++ new/wicked-0.6.35/src/Makefile.am   2016-05-27 11:27:55.000000000 +0200
@@ -175,6 +175,7 @@
 system_headers                 = \
        linux/dcbnl.h           \
        linux/ethtool.h         \
+       linux/if_addr.h         \
        linux/if_link.h         \
        linux/if_tunnel.h
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/Makefile.in 
new/wicked-0.6.35/src/Makefile.in
--- old/wicked-0.6.34/src/Makefile.in   2016-05-20 15:53:21.000000000 +0200
+++ new/wicked-0.6.35/src/Makefile.in   2016-05-27 11:37:34.000000000 +0200
@@ -628,6 +628,7 @@
 system_headers = \
        linux/dcbnl.h           \
        linux/ethtool.h         \
+       linux/if_addr.h         \
        linux/if_link.h         \
        linux/if_tunnel.h
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/bonding.c 
new/wicked-0.6.35/src/bonding.c
--- old/wicked-0.6.34/src/bonding.c     2016-05-20 15:26:35.000000000 +0200
+++ new/wicked-0.6.35/src/bonding.c     2016-05-26 14:18:14.000000000 +0200
@@ -8,6 +8,7 @@
 #endif
 
 #include <arpa/inet.h>
+#include <net/if_arp.h>
 #include <limits.h>
 
 #include <wicked/netinfo.h>
@@ -182,6 +183,8 @@
        bonding->packets_per_slave = 1;
        bonding->tlb_dynamic_lb = TRUE;
        bonding->lp_interval = 1;
+       bonding->ad_actor_sys_prio = 65535;
+       ni_link_address_init(&bonding->ad_actor_system);
 }
 
 /*
@@ -250,6 +253,10 @@
        C(tlb_dynamic_lb);
        C(lp_interval);
 
+       C(ad_user_port_key);
+       C(ad_actor_sys_prio);
+       memcpy(&bond->ad_actor_system, &orig->ad_actor_system,
+                       sizeof(bond->ad_actor_system));
        C(ad_info.aggregator_id);
        C(ad_info.ports);
        C(ad_info.actor_key);
@@ -438,6 +445,16 @@
 
                if (bonding->min_links > INT_MAX)
                        return "ieee802-3ad min-links option not in range 
0-INT_MAX";
+
+               if (bonding->ad_user_port_key > 1023)
+                       return "ieee802-3ad user port key is not in range 
0-1023";
+               if (bonding->ad_actor_sys_prio < 1)
+                       return "ieee802-3ad actor system prio is not in range 
1-65535";
+               if (bonding->ad_actor_system.len &&
+                   bonding->ad_actor_system.type != ARPHRD_ETHER &&
+                   ni_link_address_is_invalid(&bonding->ad_actor_system))
+                       return "ieee802-3ad actor system is not a valid 
ethernet address";
+
        } else {
                if (bonding->lacp_rate != NI_BOND_LACP_RATE_SLOW)
                        return "lacp rate only valid in ieee802-3ad mode";
@@ -1428,6 +1445,29 @@
                return TRUE;
        } else
 
+       if (strcmp(option, "ad_user_port_key") == 0) {
+               if (ni_parse_uint(value, &tmp, 0) < 0 || tmp > 1023)
+                       return FALSE;
+               bond->ad_user_port_key = tmp;
+               return TRUE;
+       } else
+
+       if (strcmp(option, "ad_actor_sys_prio") == 0) {
+               if (ni_parse_uint(value, &tmp, 0) < 0 || tmp < 1 || tmp > 65535)
+                       return FALSE;
+               bond->ad_actor_sys_prio = tmp;
+               return TRUE;
+       } else
+
+       if (strcmp(option, "ad_actor_system") == 0) {
+               if (ni_link_address_parse(&bond->ad_actor_system, ARPHRD_ETHER, 
value) < 0 ||
+                   ni_link_address_is_invalid(&bond->ad_actor_system)) {
+                       ni_link_address_init(&bond->ad_actor_system);
+                       return FALSE;
+               }
+               return TRUE;
+       } else
+
        if (strcmp(option, "min_links") == 0) {
                if (ni_parse_uint(value, &tmp, 10) < 0)
                        return FALSE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/dbus-objects/bonding.c 
new/wicked-0.6.35/src/dbus-objects/bonding.c
--- old/wicked-0.6.34/src/dbus-objects/bonding.c        2016-05-20 
15:26:35.000000000 +0200
+++ new/wicked-0.6.35/src/dbus-objects/bonding.c        2016-05-26 
14:18:14.000000000 +0200
@@ -591,6 +591,39 @@
 }
 
 static dbus_bool_t
+__ni_objectmodel_bonding_get_ad_actor_system(const ni_dbus_object_t *object,
+                               const ni_dbus_property_t *property,
+                               ni_dbus_variant_t *result,
+                               DBusError *error)
+{
+       const ni_bonding_t *bond;
+
+       if (!(bond = __ni_objectmodel_bonding_read_handle(object, error)))
+               return FALSE;
+       return __ni_objectmodel_get_hwaddr(result, &bond->ad_actor_system);
+}
+
+static dbus_bool_t
+__ni_objectmodel_bonding_set_ad_actor_system(ni_dbus_object_t *object,
+                               const ni_dbus_property_t *property,
+                               const ni_dbus_variant_t *argument,
+                               DBusError *error)
+{
+       ni_bonding_t *bond;
+
+       if (!(bond = __ni_objectmodel_bonding_write_handle(object, error)))
+               return FALSE;
+
+       ni_link_address_init(&bond->ad_actor_system);
+       if (__ni_objectmodel_set_hwaddr(argument, &bond->ad_actor_system)) {
+               if (bond->ad_actor_system.len == 
ni_link_address_length(ARPHRD_ETHER))
+                       bond->ad_actor_system.type = ARPHRD_ETHER;
+               return TRUE;
+       }
+       return TRUE;
+}
+
+static dbus_bool_t
 __ni_objectmodel_bonding_get_address(const ni_dbus_object_t *object,
                                const ni_dbus_property_t *property,
                                ni_dbus_variant_t *result,
@@ -622,6 +655,8 @@
        NI_DBUS_GENERIC_STRING_PROPERTY(bonding, dbus_name, member_name, rw)
 #define BONDING_UINT_PROPERTY(dbus_name, member_name, rw) \
        NI_DBUS_GENERIC_UINT_PROPERTY(bonding, dbus_name, member_name, rw)
+#define BONDING_UINT16_PROPERTY(dbus_name, member_name, rw) \
+       NI_DBUS_GENERIC_UINT16_PROPERTY(bonding, dbus_name, member_name, rw)
 #define BONDING_BOOL_PROPERTY(dbus_name, member_name, rw) \
        NI_DBUS_GENERIC_BOOL_PROPERTY(bonding, dbus_name, member_name, rw)
 #define BONDING_STRING_ARRAY_PROPERTY(dbus_name, member_name, rw) \
@@ -632,6 +667,10 @@
        BONDING_UINT_PROPERTY(xmit-hash-policy, xmit_hash_policy, RO),
        BONDING_UINT_PROPERTY(lacp-rate, lacp_rate, RO),
        BONDING_UINT_PROPERTY(ad-select, ad_select, RO),
+       BONDING_UINT16_PROPERTY(ad-user-port-key, ad_user_port_key, RO),
+       BONDING_UINT16_PROPERTY(ad-actor-sys-prio, ad_actor_sys_prio, RO),
+       ___NI_DBUS_PROPERTY(DBUS_TYPE_ARRAY_AS_STRING DBUS_TYPE_BYTE_AS_STRING,
+                       ad-actor-system, ad_actor_system, 
__ni_objectmodel_bonding, RO),
        BONDING_UINT_PROPERTY(min-links, min_links, RO),
        BONDING_UINT_PROPERTY(resend-igmp, resend_igmp, RO),
        BONDING_UINT_PROPERTY(num-grat-arp, num_grat_arp, RO),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/ifconfig.c 
new/wicked-0.6.35/src/ifconfig.c
--- old/wicked-0.6.34/src/ifconfig.c    2016-05-20 15:37:28.000000000 +0200
+++ new/wicked-0.6.35/src/ifconfig.c    2016-05-27 11:27:55.000000000 +0200
@@ -1495,9 +1495,17 @@
 int
 ni_system_bond_create(ni_netconfig_t *nc, const ni_netdev_t *cfg, ni_netdev_t 
**dev_ret)
 {
+       const char *complaint;
+
        if (!nc || !dev_ret || !cfg || cfg->link.type != NI_IFTYPE_BOND || 
ni_string_empty(cfg->name))
                return -NI_ERROR_INVALID_ARGS;
 
+       complaint = ni_bonding_validate(cfg->bonding);
+       if (complaint != NULL) {
+               ni_error("%s: cannot set up bonding device: %s", cfg->name, 
complaint);
+               return -NI_ERROR_INVALID_ARGS;
+       }
+
        switch (ni_config_bonding_ctl()) {
        case NI_CONFIG_BONDING_CTL_SYSFS:
                return ni_system_bond_create_sysfs(nc, cfg, dev_ret);
@@ -2471,6 +2479,16 @@
                return __ni_rtnl_link_put_bond_opt_debug(ifname, name, ret,
                                conf->packets_per_slave, NULL);
 
+       case IFLA_BOND_TLB_DYNAMIC_LB:
+               if (conf->tlb_dynamic_lb != bond->tlb_dynamic_lb) {
+                       NLA_PUT_U8 (msg, attr, conf->tlb_dynamic_lb ? 1 : 0);
+                       bond->tlb_dynamic_lb = conf->tlb_dynamic_lb;
+                       ret = 0;
+               }
+               return __ni_rtnl_link_put_bond_opt_debug(ifname, name, ret,
+                               conf->tlb_dynamic_lb,
+                               conf->tlb_dynamic_lb ? "on" : "off");
+
        case IFLA_BOND_AD_LACP_RATE:
                if (conf->lacp_rate != bond->lacp_rate) {
                        NLA_PUT_U8 (msg, attr, conf->lacp_rate);
@@ -2491,6 +2509,32 @@
                                conf->ad_select,
                                ni_bonding_ad_select_name(conf->ad_select));
 
+       case IFLA_BOND_AD_USER_PORT_KEY:
+               if (conf->ad_user_port_key != bond->ad_user_port_key) {
+                       NLA_PUT_U16(msg, attr, conf->ad_user_port_key);
+                       ret = 0;
+               }
+               return __ni_rtnl_link_put_bond_opt_debug(ifname, name, ret,
+                               0, "a key");
+
+       case IFLA_BOND_AD_ACTOR_SYS_PRIO:
+               if (conf->ad_actor_sys_prio != bond->ad_actor_sys_prio) {
+                       NLA_PUT_U16(msg, attr, conf->ad_actor_sys_prio);
+                       ret = 0;
+               }
+               return __ni_rtnl_link_put_bond_opt_debug(ifname, name, ret,
+                               0, "a prio");
+
+       case IFLA_BOND_AD_ACTOR_SYSTEM:
+               if (conf->ad_actor_system.len &&
+                   !ni_link_address_is_invalid(&conf->ad_actor_system) &&
+                   !ni_link_address_equal(&conf->ad_actor_system, 
&bond->ad_actor_system)) {
+                       NLA_PUT(msg, attr, conf->ad_actor_system.len, 
conf->ad_actor_system.data);
+                       ret = 0;
+               }
+               return __ni_rtnl_link_put_bond_opt_debug(ifname, name, ret,
+                               0, "a mac");
+
        default:
                ret = -1;
        }
@@ -2529,6 +2573,12 @@
                                                        .bstate = -1),
                map_opt(IFLA_BOND_AD_SELECT,            .modes  = 
NI_BIT(NI_BOND_MODE_802_3AD),
                                                        .bstate = -1),
+               map_opt(IFLA_BOND_AD_ACTOR_SYS_PRIO,    .modes  = 
NI_BIT(NI_BOND_MODE_802_3AD),
+                                                       .bstate = -1),
+               map_opt(IFLA_BOND_AD_USER_PORT_KEY,     .modes  = 
NI_BIT(NI_BOND_MODE_802_3AD),
+                                                       .bstate = -1),
+               map_opt(IFLA_BOND_AD_ACTOR_SYSTEM,      .modes  = 
NI_BIT(NI_BOND_MODE_802_3AD),
+                                                       .bstate = -1),
                map_opt(IFLA_BOND_XMIT_HASH_POLICY,     .modes  = 
NI_BIT(NI_BOND_MODE_802_3AD)
                                                                | 
NI_BIT(NI_BOND_MODE_BALANCE_XOR)
                                                                | 
NI_BIT(NI_BOND_MODE_BALANCE_TLB)),
@@ -2540,6 +2590,8 @@
                                                                | 
NI_BIT(NI_BOND_MODE_BALANCE_ALB)
                                                                | 
NI_BIT(NI_BOND_MODE_BALANCE_TLB),
                                                        .bstate = 1, .slaves = 
1),
+               map_opt(IFLA_BOND_TLB_DYNAMIC_LB,       .modes  = 
NI_BIT(NI_BOND_MODE_BALANCE_TLB),
+                                                       .bstate = -1),
                map_opt(IFLA_BOND_MIN_LINKS),
                map_opt(IFLA_BOND_FAIL_OVER_MAC,        .slaves = -1),
                map_opt(IFLA_BOND_ALL_SLAVES_ACTIVE),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/iflist.c 
new/wicked-0.6.35/src/iflist.c
--- old/wicked-0.6.34/src/iflist.c      2016-05-20 15:37:28.000000000 +0200
+++ new/wicked-0.6.35/src/iflist.c      2016-05-27 11:27:55.000000000 +0200
@@ -3259,6 +3259,10 @@
                [IFLA_BOND_AD_LACP_RATE]                = { .type = NLA_U8      
},
                [IFLA_BOND_AD_SELECT]                   = { .type = NLA_U8      
},
                [IFLA_BOND_AD_INFO]                     = { .type = NLA_NESTED  
},
+               [IFLA_BOND_AD_USER_PORT_KEY]            = { .type = NLA_U16     
},
+               [IFLA_BOND_AD_ACTOR_SYS_PRIO]           = { .type = NLA_U16     
},
+               [IFLA_BOND_AD_ACTOR_SYSTEM]             = { .type = NLA_UNSPEC  
},
+               [IFLA_BOND_TLB_DYNAMIC_LB]              = { .type = NLA_U8      
},
        };
 #define map_attr(attr) [attr] = #attr
        static const char *                     
__bond_master_attrs[IFLA_BOND_MAX+1] = {
@@ -3285,6 +3289,10 @@
                map_attr(IFLA_BOND_AD_LACP_RATE),
                map_attr(IFLA_BOND_AD_SELECT),
                map_attr(IFLA_BOND_AD_INFO),
+               map_attr(IFLA_BOND_AD_USER_PORT_KEY),
+               map_attr(IFLA_BOND_AD_ACTOR_SYS_PRIO),
+               map_attr(IFLA_BOND_AD_ACTOR_SYSTEM),
+               map_attr(IFLA_BOND_TLB_DYNAMIC_LB),
        };
 #undef  map_attr
        struct nlattr *tb[IFLA_BOND_MAX+1];
@@ -3448,16 +3456,13 @@
                                        "%s: get attr %s=%u", dev->name, name,
                                        bond->lp_interval);
                        break;
-#if 0
-               case IFLA_BOND_TLB_DYNAMIC_LP:
-                       /* bonding 3.7.1 in linux-4.1.15 does not handle it via 
netlink */
+               case IFLA_BOND_TLB_DYNAMIC_LB:
                        bond->tlb_dynamic_lb = nla_get_u8(aptr);
                        ni_debug_verbose(NI_LOG_DEBUG2, NI_TRACE_EVENTS,
                                        "%s: get attr %s=%u (%s)", dev->name, 
name,
                                        bond->tlb_dynamic_lb,
                                        bond->tlb_dynamic_lb ? "on" : "off");
                        break;
-#endif
                case IFLA_BOND_PACKETS_PER_SLAVE:
                        bond->packets_per_slave = nla_get_u32(aptr);
                        ni_debug_verbose(NI_LOG_DEBUG2, NI_TRACE_EVENTS,
@@ -3478,6 +3483,27 @@
                                        bond->ad_select,
                                        
ni_bonding_ad_select_name(bond->ad_select));
                        break;
+               case IFLA_BOND_AD_USER_PORT_KEY:
+                       /* do not log it */
+                       bond->ad_user_port_key = nla_get_u16(aptr);
+                       break;
+               case IFLA_BOND_AD_ACTOR_SYS_PRIO:
+                       /* do not log it */
+                       bond->ad_actor_sys_prio = nla_get_u16(aptr);
+                       break;
+               case IFLA_BOND_AD_ACTOR_SYSTEM:
+                       /* do not log it */
+                       if ((unsigned int)nla_len(aptr) == 
ni_link_address_length(ARPHRD_ETHER)) {
+                               ni_link_address_set(&bond->ad_actor_system,
+                                               ARPHRD_ETHER, nla_data(aptr), 
nla_len(aptr));
+                               /* kernel accepts only valid macs, but reports 
as-is;
+                                * we have to filter out e.g. a 
00:00:00:00:00:00 mac.
+                                */
+                               if 
(!ni_link_address_is_invalid(&bond->ad_actor_system))
+                                       break;
+                       }
+                       ni_link_address_init(&bond->ad_actor_system);
+                       break;
                case IFLA_BOND_AD_INFO:
                        (void)__ni_discover_bond_netlink_ad_info(dev, aptr, nc);
                        /* ignore errors, it is info only */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/linux/dcbnl.h 
new/wicked-0.6.35/src/linux/dcbnl.h
--- old/wicked-0.6.34/src/linux/dcbnl.h 2016-03-15 18:48:04.000000000 +0100
+++ new/wicked-0.6.35/src/linux/dcbnl.h 2016-05-26 14:18:14.000000000 +0200
@@ -78,6 +78,70 @@
        __u64   tc_maxrate[IEEE_8021QAZ_MAX_TCS];
 };
 
+enum dcbnl_cndd_states {
+       DCB_CNDD_RESET = 0,
+       DCB_CNDD_EDGE,
+       DCB_CNDD_INTERIOR,
+       DCB_CNDD_INTERIOR_READY,
+};
+
+/* This structure contains the IEEE 802.1Qau QCN managed object.
+ *
+ *@rpg_enable: enable QCN RP
+ *@rppp_max_rps: maximum number of RPs allowed for this CNPV on this port
+ *@rpg_time_reset: time between rate increases if no CNMs received.
+ *                given in u-seconds
+ *@rpg_byte_reset: transmitted data between rate increases if no CNMs received.
+ *                given in Bytes
+ *@rpg_threshold: The number of times rpByteStage or rpTimeStage can count
+ *                before RP rate control state machine advances states
+ *@rpg_max_rate: the maxinun rate, in Mbits per second,
+ *              at which an RP can transmit
+ *@rpg_ai_rate: The rate, in Mbits per second,
+ *             used to increase rpTargetRate in the RPR_ACTIVE_INCREASE
+ *@rpg_hai_rate: The rate, in Mbits per second,
+ *              used to increase rpTargetRate in the RPR_HYPER_INCREASE state
+ *@rpg_gd: Upon CNM receive, flow rate is limited to (Fb/Gd)*CurrentRate.
+ *        rpgGd is given as log2(Gd), where Gd may only be powers of 2
+ *@rpg_min_dec_fac: The minimum factor by which the current transmit rate
+ *                 can be changed by reception of a CNM.
+ *                 value is given as percentage (1-100)
+ *@rpg_min_rate: The minimum value, in bits per second, for rate to limit
+ *@cndd_state_machine: The state of the congestion notification domain
+ *                    defense state machine, as defined by IEEE 802.3Qau
+ *                    section 32.1.1. In the interior ready state,
+ *                    the QCN capable hardware may add CN-TAG TLV to the
+ *                    outgoing traffic, to specifically identify outgoing
+ *                    flows.
+ */
+
+struct ieee_qcn {
+       __u8 rpg_enable[IEEE_8021QAZ_MAX_TCS];
+       __u32 rppp_max_rps[IEEE_8021QAZ_MAX_TCS];
+       __u32 rpg_time_reset[IEEE_8021QAZ_MAX_TCS];
+       __u32 rpg_byte_reset[IEEE_8021QAZ_MAX_TCS];
+       __u32 rpg_threshold[IEEE_8021QAZ_MAX_TCS];
+       __u32 rpg_max_rate[IEEE_8021QAZ_MAX_TCS];
+       __u32 rpg_ai_rate[IEEE_8021QAZ_MAX_TCS];
+       __u32 rpg_hai_rate[IEEE_8021QAZ_MAX_TCS];
+       __u32 rpg_gd[IEEE_8021QAZ_MAX_TCS];
+       __u32 rpg_min_dec_fac[IEEE_8021QAZ_MAX_TCS];
+       __u32 rpg_min_rate[IEEE_8021QAZ_MAX_TCS];
+       __u32 cndd_state_machine[IEEE_8021QAZ_MAX_TCS];
+};
+
+/* This structure contains the IEEE 802.1Qau QCN statistics.
+ *
+ *@rppp_rp_centiseconds: the number of RP-centiseconds accumulated
+ *                      by RPs at this priority level on this Port
+ *@rppp_created_rps: number of active RPs(flows) that react to CNMs
+ */
+
+struct ieee_qcn_stats {
+       __u64 rppp_rp_centiseconds[IEEE_8021QAZ_MAX_TCS];
+       __u32 rppp_created_rps[IEEE_8021QAZ_MAX_TCS];
+};
+
 /* This structure contains the IEEE 802.1Qaz PFC managed object
  *
  * @pfc_cap: Indicates the number of traffic classes on the local device
@@ -143,21 +207,26 @@
 #define IEEE_8021QAZ_APP_SEL_ANY       4
 
 /* This structure contains the IEEE 802.1Qaz APP managed object. This
- * object is also used for the CEE std as well. There is no difference
- * between the objects.
+ * object is also used for the CEE std as well.
  *
  * @selector: protocol identifier type
  * @protocol: protocol of type indicated
- * @priority: 3-bit unsigned integer indicating priority
+ * @priority: 3-bit unsigned integer indicating priority for IEEE
+ *            8-bit 802.1p user priority bitmap for CEE
  *
  * ----
- *  Selector field values
+ *  Selector field values for IEEE 802.1Qaz
  *     0       Reserved
  *     1       Ethertype
  *     2       Well known port number over TCP or SCTP
  *     3       Well known port number over UDP or DCCP
  *     4       Well known port number over TCP, SCTP, UDP, or DCCP
  *     5-7     Reserved
+ *
+ *  Selector field values for CEE
+ *     0       Ethertype
+ *     1       Well known port number over TCP or UDP
+ *     2-3     Reserved
  */
 struct dcb_app {
        __u8    selector;
@@ -333,6 +402,8 @@
        DCB_ATTR_IEEE_PEER_PFC,
        DCB_ATTR_IEEE_PEER_APP,
        DCB_ATTR_IEEE_MAXRATE,
+       DCB_ATTR_IEEE_QCN,
+       DCB_ATTR_IEEE_QCN_STATS,
        __DCB_ATTR_IEEE_MAX
 };
 #define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/linux/ethtool.h 
new/wicked-0.6.35/src/linux/ethtool.h
--- old/wicked-0.6.34/src/linux/ethtool.h       2016-03-15 18:48:04.000000000 
+0100
+++ new/wicked-0.6.35/src/linux/ethtool.h       2016-05-26 14:18:14.000000000 
+0200
@@ -215,6 +215,11 @@
        ETHTOOL_ID_UNSPEC,
        ETHTOOL_RX_COPYBREAK,
        ETHTOOL_TX_COPYBREAK,
+       /*
+        * Add your fresh new tubale attribute above and remember to update
+        * tunable_strings[] in net/core/ethtool.c
+        */
+       __ETHTOOL_TUNABLE_COUNT,
 };
 
 enum tunable_type_id {
@@ -545,6 +550,7 @@
        ETH_SS_NTUPLE_FILTERS,
        ETH_SS_FEATURES,
        ETH_SS_RSS_HASH_FUNCS,
+       ETH_SS_TUNABLES,
 };
 
 /**
@@ -796,6 +802,31 @@
        __u32           location;
 };
 
+/* How rings are layed out when accessing virtual functions or
+ * offloaded queues is device specific. To allow users to do flow
+ * steering and specify these queues the ring cookie is partitioned
+ * into a 32bit queue index with an 8 bit virtual function id.
+ * This also leaves the 3bytes for further specifiers. It is possible
+ * future devices may support more than 256 virtual functions if
+ * devices start supporting PCIe w/ARI. However at the moment I
+ * do not know of any devices that support this so I do not reserve
+ * space for this at this time. If a future patch consumes the next
+ * byte it should be aware of this possiblity.
+ */
+#define ETHTOOL_RX_FLOW_SPEC_RING      0x00000000FFFFFFFFLL
+#define ETHTOOL_RX_FLOW_SPEC_RING_VF   0x000000FF00000000LL
+#define ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF 32
+static __inline__ __u64 ethtool_get_flow_spec_ring(__u64 ring_cookie)
+{
+       return ETHTOOL_RX_FLOW_SPEC_RING & ring_cookie;
+};
+
+static __inline__ __u64 ethtool_get_flow_spec_ring_vf(__u64 ring_cookie)
+{
+       return (ETHTOOL_RX_FLOW_SPEC_RING_VF & ring_cookie) >>
+                               ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF;
+};
+
 /**
  * struct ethtool_rxnfc - command to get or set RX flow classification rules
  * @cmd: Specific command number - %ETHTOOL_GRXFH, %ETHTOOL_SRXFH,
@@ -1062,6 +1093,11 @@
  * the 'hwtstamp_tx_types' and 'hwtstamp_rx_filters' enumeration values,
  * respectively.  For example, if the device supports HWTSTAMP_TX_ON,
  * then (1 << HWTSTAMP_TX_ON) in 'tx_types' will be set.
+ *
+ * Drivers should only report the filters they actually support without
+ * upscaling in the SIOCSHWTSTAMP ioctl. If the SIOCSHWSTAMP request for
+ * HWTSTAMP_FILTER_V1_SYNC is supported by HWTSTAMP_FILTER_V1_EVENT, then the
+ * driver should only report HWTSTAMP_FILTER_V1_EVENT in this op.
  */
 struct ethtool_ts_info {
        __u32   cmd;
@@ -1264,15 +1300,19 @@
  * it was forced up into this mode or autonegotiated.
  */
 
-/* The forced speed, 10Mb, 100Mb, gigabit, [2.5|10|20|40|56]GbE. */
+/* The forced speed, 10Mb, 100Mb, gigabit, [2.5|5|10|20|25|40|50|56|100]GbE. */
 #define SPEED_10               10
 #define SPEED_100              100
 #define SPEED_1000             1000
 #define SPEED_2500             2500
+#define SPEED_5000             5000
 #define SPEED_10000            10000
 #define SPEED_20000            20000
+#define SPEED_25000            25000
 #define SPEED_40000            40000
+#define SPEED_50000            50000
 #define SPEED_56000            56000
+#define SPEED_100000           100000
 
 #define SPEED_UNKNOWN          -1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/linux/if_addr.h 
new/wicked-0.6.35/src/linux/if_addr.h
--- old/wicked-0.6.34/src/linux/if_addr.h       1970-01-01 01:00:00.000000000 
+0100
+++ new/wicked-0.6.35/src/linux/if_addr.h       2016-05-26 14:18:14.000000000 
+0200
@@ -0,0 +1,67 @@
+#ifndef __LINUX_IF_ADDR_H
+#define __LINUX_IF_ADDR_H
+
+#include <linux/types.h>
+#include <linux/netlink.h>
+
+struct ifaddrmsg {
+       __u8            ifa_family;
+       __u8            ifa_prefixlen;  /* The prefix length            */
+       __u8            ifa_flags;      /* Flags                        */
+       __u8            ifa_scope;      /* Address scope                */
+       __u32           ifa_index;      /* Link index                   */
+};
+
+/*
+ * Important comment:
+ * IFA_ADDRESS is prefix address, rather than local interface address.
+ * It makes no difference for normally configured broadcast interfaces,
+ * but for point-to-point IFA_ADDRESS is DESTINATION address,
+ * local address is supplied in IFA_LOCAL attribute.
+ *
+ * IFA_FLAGS is a u32 attribute that extends the u8 field ifa_flags.
+ * If present, the value from struct ifaddrmsg will be ignored.
+ */
+enum {
+       IFA_UNSPEC,
+       IFA_ADDRESS,
+       IFA_LOCAL,
+       IFA_LABEL,
+       IFA_BROADCAST,
+       IFA_ANYCAST,
+       IFA_CACHEINFO,
+       IFA_MULTICAST,
+       IFA_FLAGS,
+       __IFA_MAX,
+};
+
+#define IFA_MAX (__IFA_MAX - 1)
+
+/* ifa_flags */
+#define IFA_F_SECONDARY                0x01
+#define IFA_F_TEMPORARY                IFA_F_SECONDARY
+
+#define        IFA_F_NODAD             0x02
+#define IFA_F_OPTIMISTIC       0x04
+#define IFA_F_DADFAILED                0x08
+#define        IFA_F_HOMEADDRESS       0x10
+#define IFA_F_DEPRECATED       0x20
+#define IFA_F_TENTATIVE                0x40
+#define IFA_F_PERMANENT                0x80
+#define IFA_F_MANAGETEMPADDR   0x100
+#define IFA_F_NOPREFIXROUTE    0x200
+#define IFA_F_MCAUTOJOIN       0x400
+#define IFA_F_STABLE_PRIVACY   0x800
+
+struct ifa_cacheinfo {
+       __u32   ifa_prefered;
+       __u32   ifa_valid;
+       __u32   cstamp; /* created timestamp, hundredths of seconds */
+       __u32   tstamp; /* updated timestamp, hundredths of seconds */
+};
+
+/* backwards compatibility for userspace */
+#define IFA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct 
ifaddrmsg))))
+#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/linux/if_link.h 
new/wicked-0.6.35/src/linux/if_link.h
--- old/wicked-0.6.34/src/linux/if_link.h       2016-05-20 15:26:35.000000000 
+0200
+++ new/wicked-0.6.35/src/linux/if_link.h       2016-05-26 14:18:14.000000000 
+0200
@@ -145,6 +145,10 @@
        IFLA_CARRIER,
        IFLA_PHYS_PORT_ID,
        IFLA_CARRIER_CHANGES,
+       IFLA_PHYS_SWITCH_ID,
+       IFLA_LINK_NETNSID,
+       IFLA_PHYS_PORT_NAME,
+       IFLA_PROTO_DOWN,
        __IFLA_MAX
 };
 
@@ -202,11 +206,71 @@
        IFLA_INET6_CACHEINFO,   /* time values and max reasm size */
        IFLA_INET6_ICMP6STATS,  /* statistics (icmpv6)          */
        IFLA_INET6_TOKEN,       /* device token                 */
+       IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */
        __IFLA_INET6_MAX
 };
 
 #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
 
+enum in6_addr_gen_mode {
+       IN6_ADDR_GEN_MODE_EUI64,
+       IN6_ADDR_GEN_MODE_NONE,
+       IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
+};
+
+/* Bridge section */
+
+enum {
+       IFLA_BR_UNSPEC,
+       IFLA_BR_FORWARD_DELAY,
+       IFLA_BR_HELLO_TIME,
+       IFLA_BR_MAX_AGE,
+       IFLA_BR_AGEING_TIME,
+       IFLA_BR_STP_STATE,
+       IFLA_BR_PRIORITY,
+       IFLA_BR_VLAN_FILTERING,
+       IFLA_BR_VLAN_PROTOCOL,
+       IFLA_BR_GROUP_FWD_MASK,
+       IFLA_BR_ROOT_ID,
+       IFLA_BR_BRIDGE_ID,
+       IFLA_BR_ROOT_PORT,
+       IFLA_BR_ROOT_PATH_COST,
+       IFLA_BR_TOPOLOGY_CHANGE,
+       IFLA_BR_TOPOLOGY_CHANGE_DETECTED,
+       IFLA_BR_HELLO_TIMER,
+       IFLA_BR_TCN_TIMER,
+       IFLA_BR_TOPOLOGY_CHANGE_TIMER,
+       IFLA_BR_GC_TIMER,
+       IFLA_BR_GROUP_ADDR,
+       IFLA_BR_FDB_FLUSH,
+       IFLA_BR_MCAST_ROUTER,
+       IFLA_BR_MCAST_SNOOPING,
+       IFLA_BR_MCAST_QUERY_USE_IFADDR,
+       IFLA_BR_MCAST_QUERIER,
+       IFLA_BR_MCAST_HASH_ELASTICITY,
+       IFLA_BR_MCAST_HASH_MAX,
+       IFLA_BR_MCAST_LAST_MEMBER_CNT,
+       IFLA_BR_MCAST_STARTUP_QUERY_CNT,
+       IFLA_BR_MCAST_LAST_MEMBER_INTVL,
+       IFLA_BR_MCAST_MEMBERSHIP_INTVL,
+       IFLA_BR_MCAST_QUERIER_INTVL,
+       IFLA_BR_MCAST_QUERY_INTVL,
+       IFLA_BR_MCAST_QUERY_RESPONSE_INTVL,
+       IFLA_BR_MCAST_STARTUP_QUERY_INTVL,
+       IFLA_BR_NF_CALL_IPTABLES,
+       IFLA_BR_NF_CALL_IP6TABLES,
+       IFLA_BR_NF_CALL_ARPTABLES,
+       IFLA_BR_VLAN_DEFAULT_PVID,
+       __IFLA_BR_MAX,
+};
+
+#define IFLA_BR_MAX    (__IFLA_BR_MAX - 1)
+
+struct ifla_bridge_id {
+       __u8    prio[2];
+       __u8    addr[6]; /* ETH_ALEN */
+};
+
 enum {
        BRIDGE_MODE_UNSPEC,
        BRIDGE_MODE_HAIRPIN,
@@ -223,6 +287,22 @@
        IFLA_BRPORT_FAST_LEAVE, /* multicast fast leave    */
        IFLA_BRPORT_LEARNING,   /* mac learning */
        IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */
+       IFLA_BRPORT_PROXYARP,   /* proxy ARP */
+       IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */
+       IFLA_BRPORT_PROXYARP_WIFI, /* proxy ARP for Wi-Fi */
+       IFLA_BRPORT_ROOT_ID,    /* designated root */
+       IFLA_BRPORT_BRIDGE_ID,  /* designated bridge */
+       IFLA_BRPORT_DESIGNATED_PORT,
+       IFLA_BRPORT_DESIGNATED_COST,
+       IFLA_BRPORT_ID,
+       IFLA_BRPORT_NO,
+       IFLA_BRPORT_TOPOLOGY_CHANGE_ACK,
+       IFLA_BRPORT_CONFIG_PENDING,
+       IFLA_BRPORT_MESSAGE_AGE_TIMER,
+       IFLA_BRPORT_FORWARD_DELAY_TIMER,
+       IFLA_BRPORT_HOLD_TIMER,
+       IFLA_BRPORT_FLUSH,
+       IFLA_BRPORT_MULTICAST_ROUTER,
        __IFLA_BRPORT_MAX
 };
 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -283,6 +363,10 @@
        IFLA_MACVLAN_UNSPEC,
        IFLA_MACVLAN_MODE,
        IFLA_MACVLAN_FLAGS,
+       IFLA_MACVLAN_MACADDR_MODE,
+       IFLA_MACVLAN_MACADDR,
+       IFLA_MACVLAN_MACADDR_DATA,
+       IFLA_MACVLAN_MACADDR_COUNT,
        __IFLA_MACVLAN_MAX,
 };
 
@@ -296,8 +380,39 @@
        MACVLAN_MODE_SOURCE  = 16,/* use source MAC address list to assign */
 };
 
+enum macvlan_macaddr_mode {
+       MACVLAN_MACADDR_ADD,
+       MACVLAN_MACADDR_DEL,
+       MACVLAN_MACADDR_FLUSH,
+       MACVLAN_MACADDR_SET,
+};
+
 #define MACVLAN_FLAG_NOPROMISC 1
 
+/* VRF section */
+enum {
+       IFLA_VRF_UNSPEC,
+       IFLA_VRF_TABLE,
+       __IFLA_VRF_MAX
+};
+
+#define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1)
+
+/* IPVLAN section */
+enum {
+       IFLA_IPVLAN_UNSPEC,
+       IFLA_IPVLAN_MODE,
+       __IFLA_IPVLAN_MAX
+};
+
+#define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1)
+
+enum ipvlan_mode {
+       IPVLAN_MODE_L2 = 0,
+       IPVLAN_MODE_L3,
+       IPVLAN_MODE_MAX
+};
+
 /* VXLAN section */
 enum {
        IFLA_VXLAN_UNSPEC,
@@ -318,6 +433,14 @@
        IFLA_VXLAN_PORT,        /* destination port */
        IFLA_VXLAN_GROUP6,
        IFLA_VXLAN_LOCAL6,
+       IFLA_VXLAN_UDP_CSUM,
+       IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
+       IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
+       IFLA_VXLAN_REMCSUM_TX,
+       IFLA_VXLAN_REMCSUM_RX,
+       IFLA_VXLAN_GBP,
+       IFLA_VXLAN_REMCSUM_NOPARTIAL,
+       IFLA_VXLAN_COLLECT_METADATA,
        __IFLA_VXLAN_MAX
 };
 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
@@ -327,6 +450,20 @@
        __be16  high;
 };
 
+/* GENEVE section */
+enum {
+       IFLA_GENEVE_UNSPEC,
+       IFLA_GENEVE_ID,
+       IFLA_GENEVE_REMOTE,
+       IFLA_GENEVE_TTL,
+       IFLA_GENEVE_TOS,
+       IFLA_GENEVE_PORT,       /* destination port */
+       IFLA_GENEVE_COLLECT_METADATA,
+       IFLA_GENEVE_REMOTE6,
+       __IFLA_GENEVE_MAX
+};
+#define IFLA_GENEVE_MAX        (__IFLA_GENEVE_MAX - 1)
+
 /* Bonding section */
 
 enum {
@@ -354,6 +491,10 @@
        IFLA_BOND_AD_LACP_RATE,
        IFLA_BOND_AD_SELECT,
        IFLA_BOND_AD_INFO,
+       IFLA_BOND_AD_ACTOR_SYS_PRIO,
+       IFLA_BOND_AD_USER_PORT_KEY,
+       IFLA_BOND_AD_ACTOR_SYSTEM,
+       IFLA_BOND_TLB_DYNAMIC_LB,
        __IFLA_BOND_MAX,
 };
 
@@ -379,6 +520,8 @@
        IFLA_BOND_SLAVE_PERM_HWADDR,
        IFLA_BOND_SLAVE_QUEUE_ID,
        IFLA_BOND_SLAVE_AD_AGGREGATOR_ID,
+       IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
+       IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
        __IFLA_BOND_SLAVE_MAX,
 };
 
@@ -398,9 +541,15 @@
        IFLA_VF_UNSPEC,
        IFLA_VF_MAC,            /* Hardware queue specific attributes */
        IFLA_VF_VLAN,
-       IFLA_VF_TX_RATE,        /* TX Bandwidth Allocation */
+       IFLA_VF_TX_RATE,        /* Max TX Bandwidth Allocation */
        IFLA_VF_SPOOFCHK,       /* Spoof Checking on/off switch */
        IFLA_VF_LINK_STATE,     /* link state enable/disable/auto switch */
+       IFLA_VF_RATE,           /* Min and Max TX Bandwidth Allocation */
+       IFLA_VF_RSS_QUERY_EN,   /* RSS Redirection Table and Hash Key query
+                                * on/off switch
+                                */
+       IFLA_VF_STATS,          /* network device statistics */
+       IFLA_VF_TRUST,          /* Trust VF */
        __IFLA_VF_MAX,
 };
 
@@ -422,6 +571,12 @@
        __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */
 };
 
+struct ifla_vf_rate {
+       __u32 vf;
+       __u32 min_tx_rate; /* Min Bandwidth in Mbps */
+       __u32 max_tx_rate; /* Max Bandwidth in Mbps */
+};
+
 struct ifla_vf_spoofchk {
        __u32 vf;
        __u32 setting;
@@ -439,6 +594,28 @@
        __u32 link_state;
 };
 
+struct ifla_vf_rss_query_en {
+       __u32 vf;
+       __u32 setting;
+};
+
+enum {
+       IFLA_VF_STATS_RX_PACKETS,
+       IFLA_VF_STATS_TX_PACKETS,
+       IFLA_VF_STATS_RX_BYTES,
+       IFLA_VF_STATS_TX_BYTES,
+       IFLA_VF_STATS_BROADCAST,
+       IFLA_VF_STATS_MULTICAST,
+       __IFLA_VF_STATS_MAX,
+};
+
+#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
+
+struct ifla_vf_trust {
+       __u32 vf;
+       __u32 setting;
+};
+
 /* VF ports management section
  *
  *     Nested layout of set/get msg is:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/src/linux/if_tunnel.h 
new/wicked-0.6.35/src/linux/if_tunnel.h
--- old/wicked-0.6.34/src/linux/if_tunnel.h     2016-05-20 15:26:35.000000000 
+0200
+++ new/wicked-0.6.35/src/linux/if_tunnel.h     2016-05-26 14:18:14.000000000 
+0200
@@ -112,6 +112,7 @@
        IFLA_GRE_ENCAP_FLAGS,
        IFLA_GRE_ENCAP_SPORT,
        IFLA_GRE_ENCAP_DPORT,
+       IFLA_GRE_COLLECT_METADATA,
        __IFLA_GRE_MAX,
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/wicked.spec 
new/wicked-0.6.35/wicked.spec
--- old/wicked-0.6.34/wicked.spec       2016-05-20 15:53:27.000000000 +0200
+++ new/wicked-0.6.35/wicked.spec       2016-05-27 11:37:41.000000000 +0200
@@ -18,7 +18,7 @@
 
 %define                release_prefix  %{?snapshot:%{snapshot}}%{!?snapshot:0}
 Name:           wicked
-Version:        0.6.34
+Version:        0.6.35
 Release:        %{release_prefix}.0.0
 Summary:        Network configuration infrastructure
 License:        GPL-2.0
@@ -238,10 +238,10 @@
 if test "x${_id##*/}" = "xnetwork.service" -a -x /etc/init.d/network ; then
        /etc/init.d/network stop-all-dhcp-clients || :
 fi
-%{service_add_pre wicked.service wickedd-pppd@*.service}
+%{service_add_pre wicked.service}
 
 %post service
-%{service_add_post wicked.service wickedd-pppd@*.service}
+%{service_add_post wicked.service}
 # See bnc#843526: presets do not apply for upgrade / are not sufficient
 #                 to handle sysconfig-network|wicked -> wicked migration
 _id=`readlink /etc/systemd/system/network.service 2>/dev/null` || :
@@ -257,11 +257,11 @@
 # - stopping wickedd should be sufficient ... other just to be sure.
 # - stopping of the wicked.service does not stop network, but removes
 #   the wicked.service --> network.service link and resets its status.
-%{service_del_preun wickedd.service wickedd-auto4.service 
wickedd-dhcp4.service wickedd-dhcp6.service wickedd-nanny.service 
wicked.service wickedd-pppd@*.service}
+%{service_del_preun wickedd.service wickedd-auto4.service 
wickedd-dhcp4.service wickedd-dhcp6.service wickedd-nanny.service 
wicked.service}
 
 %postun service
 # restart wickedd after upgrade
-%{service_del_postun wickedd.service wickedd-pppd@*.service}
+%{service_del_postun wickedd.service}
 
 %else
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wicked-0.6.34/wicked.spec.in 
new/wicked-0.6.35/wicked.spec.in
--- old/wicked-0.6.34/wicked.spec.in    2016-05-20 15:37:28.000000000 +0200
+++ new/wicked-0.6.35/wicked.spec.in    2016-05-26 14:30:03.000000000 +0200
@@ -238,10 +238,10 @@
 if test "x${_id##*/}" = "xnetwork.service" -a -x /etc/init.d/network ; then
        /etc/init.d/network stop-all-dhcp-clients || :
 fi
-%{service_add_pre wicked.service wickedd-pppd@*.service}
+%{service_add_pre wicked.service}
 
 %post service
-%{service_add_post wicked.service wickedd-pppd@*.service}
+%{service_add_post wicked.service}
 # See bnc#843526: presets do not apply for upgrade / are not sufficient
 #                 to handle sysconfig-network|wicked -> wicked migration
 _id=`readlink /etc/systemd/system/network.service 2>/dev/null` || :
@@ -257,11 +257,11 @@
 # - stopping wickedd should be sufficient ... other just to be sure.
 # - stopping of the wicked.service does not stop network, but removes
 #   the wicked.service --> network.service link and resets its status.
-%{service_del_preun wickedd.service wickedd-auto4.service 
wickedd-dhcp4.service wickedd-dhcp6.service wickedd-nanny.service 
wicked.service wickedd-pppd@*.service}
+%{service_del_preun wickedd.service wickedd-auto4.service 
wickedd-dhcp4.service wickedd-dhcp6.service wickedd-nanny.service 
wicked.service}
 
 %postun service
 # restart wickedd after upgrade
-%{service_del_postun wickedd.service wickedd-pppd@*.service}
+%{service_del_postun wickedd.service}
 
 %else
 


Reply via email to