commit wicked for openSUSE:Factory
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 - mt@suse.com + +- 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 <mt@suse.de> +Date: Fri May 27 11:28:39 2016 +0200 + + version 0.6.35 + +commit defc5ecf4c63f33962610f131d84c4d1bec60de1 +Merge: d84174a 6af0349 +Author: Marius Tomaschewski <mt@suse.de> +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 <mt@suse.de> +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 <mt@suse.de> +Date: Wed May 25 17:56:55 2016 +0200 + + bonding: support for new v3.7.1 netlink options + +commit 0d728a20dba398ee699f9653e6486dda4ae59662 +Author: Marius Tomaschewski <mt@suse.de> +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 <pwieczorkiewicz@suse.de> 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
participants (1)
-
root@hilbert.suse.de