Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Wed, 24 Jun 2015 09:58:51 +0000 (02:58 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Jun 2015 09:58:51 +0000 (02:58 -0700)
Conflicts:
drivers/net/ethernet/mellanox/mlx4/main.c
net/packet/af_packet.c

Both conflicts were cases of simple overlapping changes.

Signed-off-by: David S. Miller <davem@davemloft.net>
14 files changed:
1  2 
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
drivers/net/ethernet/marvell/mvneta.c
drivers/net/ethernet/mellanox/mlx4/main.c
drivers/net/ethernet/rocker/rocker.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
net/bridge/br_multicast.c
net/can/af_can.c
net/core/neighbour.c
net/ipv4/af_inet.c
net/ipv4/ip_sockglue.c
net/ipv4/tcp.c
net/mac80211/key.c
net/packet/af_packet.c
net/rose/af_rose.c

Simple merge
index 4e69cf52a57969eae261454b87f999a83003832a,68b5a5563af7ecfad7ae1842282f2212fb47439b..33e68b11a158378b5cd562d0dd2b8716018034a8
@@@ -479,7 -479,15 +479,15 @@@ static int mlx4_dev_cap(struct mlx4_de
                }
        }
  
 -      dev->caps.max_counters = 1 << ilog2(dev_cap->max_counters);
+       if (mlx4_is_master(dev) && (dev->caps.num_ports == 2) &&
+           (port_type_array[0] == MLX4_PORT_TYPE_IB) &&
+           (port_type_array[1] == MLX4_PORT_TYPE_ETH)) {
+               mlx4_warn(dev,
+                         "Granular QoS per VF not supported with IB/Eth configuration\n");
+               dev->caps.flags2 &= ~MLX4_DEV_CAP_FLAG2_QOS_VPP;
+       }
 +      dev->caps.max_counters = dev_cap->max_counters;
  
        dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FW] = dev_cap->reserved_qps;
        dev->caps.reserved_qps_cnt[MLX4_QP_REGION_ETH_ADDR] =
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/tcp.c
Simple merge
Simple merge
index f5c87031b1214a868dc3468b5ac2cdb3b6447b38,fe1610ddeacf77c7edf6c97c1130af191bee68b4..c9e8741226c6d8785e89532aa09e029c3fd9e487
@@@ -1322,30 -1272,6 +1322,20 @@@ static void packet_sock_destruct(struc
        sk_refcnt_debug_dec(sk);
  }
  
- static int fanout_rr_next(struct packet_fanout *f, unsigned int num)
- {
-       int x = atomic_read(&f->rr_cur) + 1;
-       if (x >= num)
-               x = 0;
-       return x;
- }
 +static bool fanout_flow_is_huge(struct packet_sock *po, struct sk_buff *skb)
 +{
 +      u32 rxhash;
 +      int i, count = 0;
 +
 +      rxhash = skb_get_hash(skb);
 +      for (i = 0; i < ROLLOVER_HLEN; i++)
 +              if (po->rollover->history[i] == rxhash)
 +                      count++;
 +
 +      po->rollover->history[prandom_u32() % ROLLOVER_HLEN] = rxhash;
 +      return count > (ROLLOVER_HLEN >> 1);
 +}
 +
  static unsigned int fanout_demux_hash(struct packet_fanout *f,
                                      struct sk_buff *skb,
                                      unsigned int num)
Simple merge