summaryrefslogtreecommitdiffstats
path: root/lib/utils.c
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-10-21 16:01:02 (GMT)
committerThomas Haller <thaller@redhat.com>2015-11-19 15:20:39 (GMT)
commit7ea15f60a726de67f02e6868a8125a59570e956d (patch)
treedad25eb0715fb1a6a9abfeaa82dc4b433e3cbed4 /lib/utils.c
parenta0b2710ed924d5107eae331643304e7364b1421e (diff)
downloadlibnl-7ea15f60a726de67f02e6868a8125a59570e956d.zip
libnl-7ea15f60a726de67f02e6868a8125a59570e956d.tar.gz
libnl-7ea15f60a726de67f02e6868a8125a59570e956d.tar.bz2
route/vlan: allow clearing vlan ingress map
An entry of the ingress map can be cleared by setting the "to" part to zero. Previously, vlan_put_attrs() would skip over zero "to" and thus the user cannot unset an ingress map entry. Add a modified-mask to record the state of each ingress map entry and also sent explicit zeros to kernel. when we receive a IFLA_VLAN_INGRESS_QOS message from kernel, vlan_parse() similarly sets the received entries as modified. This preserves previous behavior when using a received object to modify a vlan. Add a capability NL_CAPABILITY_RTNL_LINK_VLAN_INGRESS_MAP_CLEAR to indicate the behavioral change. Signed-off-by: Thomas Haller <thaller@redhat.com>
Diffstat (limited to 'lib/utils.c')
-rw-r--r--lib/utils.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/utils.c b/lib/utils.c
index 92b481c..ca98ab3 100644
--- a/lib/utils.c
+++ b/lib/utils.c
@@ -1157,7 +1157,7 @@ int nl_has_capability (int capability)
NL_CAPABILITY_VERSION_3_2_27,
NL_CAPABILITY_RTNL_LINK_VLAN_PROTOCOL_SERIALZE,
NL_CAPABILITY_RTNL_LINK_PARSE_GRE_REMOTE,
- 0,
+ NL_CAPABILITY_RTNL_LINK_VLAN_INGRESS_MAP_CLEAR,
0,
0),
/* IMPORTANT: these capability numbers are intended to be universal and stable