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
+Date: Fri May 27 11:28:39 2016 +0200
+
+ version 0.6.35
+
+commit defc5ecf4c63f33962610f131d84c4d1bec60de1
+Merge: d84174a 6af0349
+Author: Marius Tomaschewski
+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
+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
+Date: Wed May 25 17:56:55 2016 +0200
+
+ bonding: support for new v3.7.1 netlink options
+
+commit 0d728a20dba398ee699f9653e6486dda4ae59662
+Author: Marius Tomaschewski
+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
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
+#include
#include
#include
@@ -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
+#include
+
+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