diff options
| author | David S. Miller <davem@davemloft.net> | 2016-01-11 23:55:43 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2016-01-11 23:55:43 -0500 |
| commit | 9d367eddf363553c7668ba92c3b9d187ec4f71f7 (patch) | |
| tree | 4f06d334d316390cc9a869ce3e74ec48d32ed0f8 /net/sched | |
| parent | b6a0e72ad3cffabaf30b856deb58fbe64a0f36a8 (diff) | |
| parent | 03d84a5f83a67e692af00a3d3901e7820e3e84d5 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/bonding/bond_main.c
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
The bond_main.c and mellanox switch conflicts were cases of
overlapping changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
| -rw-r--r-- | net/sched/cls_flower.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c index 57692947ebbe..95b021243233 100644 --- a/net/sched/cls_flower.c +++ b/net/sched/cls_flower.c | |||
| @@ -252,23 +252,28 @@ static int fl_set_key(struct net *net, struct nlattr **tb, | |||
| 252 | fl_set_key_val(tb, key->eth.src, TCA_FLOWER_KEY_ETH_SRC, | 252 | fl_set_key_val(tb, key->eth.src, TCA_FLOWER_KEY_ETH_SRC, |
| 253 | mask->eth.src, TCA_FLOWER_KEY_ETH_SRC_MASK, | 253 | mask->eth.src, TCA_FLOWER_KEY_ETH_SRC_MASK, |
| 254 | sizeof(key->eth.src)); | 254 | sizeof(key->eth.src)); |
| 255 | |||
| 255 | fl_set_key_val(tb, &key->basic.n_proto, TCA_FLOWER_KEY_ETH_TYPE, | 256 | fl_set_key_val(tb, &key->basic.n_proto, TCA_FLOWER_KEY_ETH_TYPE, |
| 256 | &mask->basic.n_proto, TCA_FLOWER_UNSPEC, | 257 | &mask->basic.n_proto, TCA_FLOWER_UNSPEC, |
| 257 | sizeof(key->basic.n_proto)); | 258 | sizeof(key->basic.n_proto)); |
| 259 | |||
| 258 | if (key->basic.n_proto == htons(ETH_P_IP) || | 260 | if (key->basic.n_proto == htons(ETH_P_IP) || |
| 259 | key->basic.n_proto == htons(ETH_P_IPV6)) { | 261 | key->basic.n_proto == htons(ETH_P_IPV6)) { |
| 260 | fl_set_key_val(tb, &key->basic.ip_proto, TCA_FLOWER_KEY_IP_PROTO, | 262 | fl_set_key_val(tb, &key->basic.ip_proto, TCA_FLOWER_KEY_IP_PROTO, |
| 261 | &mask->basic.ip_proto, TCA_FLOWER_UNSPEC, | 263 | &mask->basic.ip_proto, TCA_FLOWER_UNSPEC, |
| 262 | sizeof(key->basic.ip_proto)); | 264 | sizeof(key->basic.ip_proto)); |
| 263 | } | 265 | } |
| 264 | if (key->control.addr_type == FLOW_DISSECTOR_KEY_IPV4_ADDRS) { | 266 | |
| 267 | if (tb[TCA_FLOWER_KEY_IPV4_SRC] || tb[TCA_FLOWER_KEY_IPV4_DST]) { | ||
| 268 | key->control.addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS; | ||
| 265 | fl_set_key_val(tb, &key->ipv4.src, TCA_FLOWER_KEY_IPV4_SRC, | 269 | fl_set_key_val(tb, &key->ipv4.src, TCA_FLOWER_KEY_IPV4_SRC, |
| 266 | &mask->ipv4.src, TCA_FLOWER_KEY_IPV4_SRC_MASK, | 270 | &mask->ipv4.src, TCA_FLOWER_KEY_IPV4_SRC_MASK, |
| 267 | sizeof(key->ipv4.src)); | 271 | sizeof(key->ipv4.src)); |
| 268 | fl_set_key_val(tb, &key->ipv4.dst, TCA_FLOWER_KEY_IPV4_DST, | 272 | fl_set_key_val(tb, &key->ipv4.dst, TCA_FLOWER_KEY_IPV4_DST, |
| 269 | &mask->ipv4.dst, TCA_FLOWER_KEY_IPV4_DST_MASK, | 273 | &mask->ipv4.dst, TCA_FLOWER_KEY_IPV4_DST_MASK, |
| 270 | sizeof(key->ipv4.dst)); | 274 | sizeof(key->ipv4.dst)); |
| 271 | } else if (key->control.addr_type == FLOW_DISSECTOR_KEY_IPV6_ADDRS) { | 275 | } else if (tb[TCA_FLOWER_KEY_IPV6_SRC] || tb[TCA_FLOWER_KEY_IPV6_DST]) { |
| 276 | key->control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS; | ||
| 272 | fl_set_key_val(tb, &key->ipv6.src, TCA_FLOWER_KEY_IPV6_SRC, | 277 | fl_set_key_val(tb, &key->ipv6.src, TCA_FLOWER_KEY_IPV6_SRC, |
| 273 | &mask->ipv6.src, TCA_FLOWER_KEY_IPV6_SRC_MASK, | 278 | &mask->ipv6.src, TCA_FLOWER_KEY_IPV6_SRC_MASK, |
| 274 | sizeof(key->ipv6.src)); | 279 | sizeof(key->ipv6.src)); |
| @@ -276,6 +281,7 @@ static int fl_set_key(struct net *net, struct nlattr **tb, | |||
| 276 | &mask->ipv6.dst, TCA_FLOWER_KEY_IPV6_DST_MASK, | 281 | &mask->ipv6.dst, TCA_FLOWER_KEY_IPV6_DST_MASK, |
| 277 | sizeof(key->ipv6.dst)); | 282 | sizeof(key->ipv6.dst)); |
| 278 | } | 283 | } |
| 284 | |||
| 279 | if (key->basic.ip_proto == IPPROTO_TCP) { | 285 | if (key->basic.ip_proto == IPPROTO_TCP) { |
| 280 | fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_TCP_SRC, | 286 | fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_TCP_SRC, |
| 281 | &mask->tp.src, TCA_FLOWER_UNSPEC, | 287 | &mask->tp.src, TCA_FLOWER_UNSPEC, |
