Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Mon, 9 May 2016 19:59:24 +0000 (15:59 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 May 2016 19:59:24 +0000 (15:59 -0400)
In netdevice.h we removed the structure in net-next that is being
changes in 'net'.  In macsec.c and rtnetlink.c we have overlaps
between fixes in 'net' and the u64 attribute changes in 'net-next'.

The mlx5 conflicts have to do with vxlan support dependencies.

Signed-off-by: David S. Miller <davem@davemloft.net>
25 files changed:
1  2 
MAINTAINERS
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/mellanox/mlx4/en_rx.c
drivers/net/ethernet/mellanox/mlx5/core/Makefile
drivers/net/ethernet/mellanox/mlx5/core/en.h
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
drivers/net/ethernet/qlogic/qede/qede_main.c
drivers/net/geneve.c
drivers/net/macsec.c
drivers/net/macvtap.c
drivers/net/vxlan.c
include/net/udp_tunnel.h
include/uapi/linux/if_macsec.h
kernel/trace/trace_events.c
net/bridge/br_ioctl.c
net/core/rtnetlink.c
net/ipv4/fou.c
net/ipv4/udp_offload.c
net/ipv6/icmp.c
net/ipv6/tcp_ipv6.c

diff --cc MAINTAINERS
Simple merge
@@@ -6,6 -6,7 +6,7 @@@ mlx5_core-y :=   main.o cmd.o debugfs.o f
  
  mlx5_core-$(CONFIG_MLX5_CORE_EN) += wq.o eswitch.o \
                en_main.o en_fs.o en_ethtool.o en_tx.o en_rx.o \
-               en_txrx.o en_clock.o vxlan.o en_tc.o en_arfs.o
 -              en_txrx.o en_clock.o en_tc.o
++              en_txrx.o en_clock.o en_tc.o en_arfs.o
  
+ mlx5_core-$(CONFIG_MLX5_CORE_EN_VXLAN) += vxlan.o
  mlx5_core-$(CONFIG_MLX5_CORE_EN_DCB) +=  en_dcbnl.o
@@@ -517,12 -558,15 +517,17 @@@ struct mlx5e_priv 
  
        struct mlx5e_channel     **channel;
        u32                        tisn[MLX5E_MAX_NUM_TC];
 -      u32                        rqtn[MLX5E_NUM_RQT];
 -      u32                        tirn[MLX5E_NUM_TT];
 +      u32                        indir_rqtn;
 +      u32                        indir_tirn[MLX5E_NUM_INDIR_TIRS];
 +      struct mlx5e_direct_tir    direct_tir[MLX5E_MAX_NUM_CHANNELS];
  
 +      struct mlx5e_flow_steering fs;
+       struct mlx5e_flow_tables   fts;
+       struct mlx5e_eth_addr_db   eth_addr;
+       struct mlx5e_vlan_db       vlan;
+ #ifdef CONFIG_MLX5_CORE_EN_VXLAN
        struct mlx5e_vxlan_db      vxlan;
+ #endif
  
        struct mlx5e_params        params;
        struct workqueue_struct    *wq;
Simple merge
Simple merge
Simple merge
@@@ -611,10 -613,12 +611,11 @@@ out
        return pp;
  }
  
 -static int vxlan_gro_complete(struct sk_buff *skb, int nhoff,
 -                            struct udp_offload *uoff)
 +static int vxlan_gro_complete(struct sock *sk, struct sk_buff *skb, int nhoff)
  {
-       udp_tunnel_gro_complete(skb, nhoff);
+       /* Sets 'skb->inner_mac_header' since we are always called with
+        * 'skb->encapsulation' set.
+        */
        return eth_gro_complete(skb, nhoff + sizeof(struct vxlanhdr));
  }
  
Simple merge
@@@ -79,9 -79,8 +81,9 @@@ enum macsec_sa_attrs 
        MACSEC_SA_ATTR_ACTIVE, /* config/dump, u8 0..1 */
        MACSEC_SA_ATTR_PN,     /* config/dump, u32 */
        MACSEC_SA_ATTR_KEY,    /* config, data */
-       MACSEC_SA_ATTR_KEYID,  /* config/dump, u64 */
+       MACSEC_SA_ATTR_KEYID,  /* config/dump, 128-bit */
        MACSEC_SA_ATTR_STATS,  /* dump, nested, macsec_sa_stats_attr */
 +      MACSEC_SA_ATTR_PAD,
        __MACSEC_SA_ATTR_END,
        NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
        MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
Simple merge
Simple merge
@@@ -1173,15 -1180,17 +1173,17 @@@ static noinline_for_stack int rtnl_fill
  
  static int rtnl_fill_link_ifmap(struct sk_buff *skb, struct net_device *dev)
  {
-       struct rtnl_link_ifmap map = {
-               .mem_start   = dev->mem_start,
-               .mem_end     = dev->mem_end,
-               .base_addr   = dev->base_addr,
-               .irq         = dev->irq,
-               .dma         = dev->dma,
-               .port        = dev->if_port,
-       };
+       struct rtnl_link_ifmap map;
+       memset(&map, 0, sizeof(map));
+       map.mem_start   = dev->mem_start;
+       map.mem_end     = dev->mem_end;
+       map.base_addr   = dev->base_addr;
+       map.irq         = dev->irq;
+       map.dma         = dev->dma;
+       map.port        = dev->if_port;
 -      if (nla_put(skb, IFLA_MAP, sizeof(map), &map))
 +      if (nla_put_64bit(skb, IFLA_MAP, sizeof(map), &map, IFLA_PAD))
                return -EMSGSIZE;
  
        return 0;
diff --cc net/ipv4/fou.c
Simple merge
@@@ -350,22 -399,35 +350,24 @@@ int udp_gro_complete(struct sk_buff *sk
  
        uh->len = newlen;
  
+       /* Set encapsulation before calling into inner gro_complete() functions
+        * to make them set up the inner offsets.
+        */
+       skb->encapsulation = 1;
        rcu_read_lock();
 -
 -      uo_priv = rcu_dereference(udp_offload_base);
 -      for (; uo_priv != NULL; uo_priv = rcu_dereference(uo_priv->next)) {
 -              if (net_eq(read_pnet(&uo_priv->net), dev_net(skb->dev)) &&
 -                  uo_priv->offload->port == uh->dest &&
 -                  uo_priv->offload->callbacks.gro_complete)
 -                      break;
 -      }
 -
 -      if (uo_priv) {
 -              NAPI_GRO_CB(skb)->proto = uo_priv->offload->ipproto;
 -              err = uo_priv->offload->callbacks.gro_complete(skb,
 -                              nhoff + sizeof(struct udphdr),
 -                              uo_priv->offload);
 -      }
 -
 +      sk = (*lookup)(skb, uh->source, uh->dest);
 +      if (sk && udp_sk(sk)->gro_complete)
 +              err = udp_sk(sk)->gro_complete(sk, skb,
 +                              nhoff + sizeof(struct udphdr));
        rcu_read_unlock();
  
        if (skb->remcsum_offload)
                skb_shinfo(skb)->gso_type |= SKB_GSO_TUNNEL_REMCSUM;
  
-       skb->encapsulation = 1;
-       skb_set_inner_mac_header(skb, nhoff + sizeof(struct udphdr));
        return err;
  }
 +EXPORT_SYMBOL(udp_gro_complete);
  
  static int udp4_gro_complete(struct sk_buff *skb, int nhoff)
  {
diff --cc net/ipv6/icmp.c
Simple merge
Simple merge