Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Sat, 28 Jan 2017 15:33:06 +0000 (10:33 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 Jan 2017 15:33:06 +0000 (10:33 -0500)
Two trivial overlapping changes conflicts in MPLS and mlx5.

Signed-off-by: David S. Miller <davem@davemloft.net>
44 files changed:
1  2 
MAINTAINERS
arch/arm/boot/dts/dra7.dtsi
arch/arm/configs/multi_v7_defconfig
drivers/isdn/hardware/eicon/message.c
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
drivers/net/ethernet/atheros/alx/main.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/ibm/ibmveth.c
drivers/net/ethernet/mediatek/mtk_eth_soc.c
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
drivers/net/ethernet/qlogic/qed/qed_ll2.c
drivers/net/ethernet/qlogic/qed/qed_ll2.h
drivers/net/ethernet/qlogic/qed/qed_roce.c
drivers/net/phy/marvell.c
drivers/net/tun.c
drivers/net/usb/cdc_ether.c
drivers/net/usb/r8152.c
drivers/net/virtio_net.c
drivers/net/vxlan.c
drivers/net/xen-netfront.c
include/linux/bpf.h
include/linux/phy.h
kernel/bpf/syscall.c
net/batman-adv/fragmentation.c
net/bridge/br_netlink.c
net/core/dev.c
net/core/lwt_bpf.c
net/dccp/ipv6.c
net/dsa/slave.c
net/ipv4/ip_tunnel_core.c
net/ipv4/tcp_fastopen.c
net/ipv4/tcp_input.c
net/ipv6/addrconf.c
net/ipv6/inet6_connection_sock.c
net/ipv6/ip6_gre.c
net/ipv6/route.c
net/ipv6/tcp_ipv6.c
net/mpls/af_mpls.c
net/mpls/mpls_iptunnel.c
net/packet/af_packet.c
net/sctp/ipv6.c
net/sctp/socket.c
net/tipc/node.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
   * General Public License for more details.
   */
  #include <linux/bpf.h>
 +#include <linux/bpf_trace.h>
  #include <linux/syscalls.h>
  #include <linux/slab.h>
+ #include <linux/vmalloc.h>
+ #include <linux/mmzone.h>
  #include <linux/anon_inodes.h>
  #include <linux/file.h>
  #include <linux/license.h>
Simple merge
Simple merge
diff --cc net/core/dev.c
Simple merge
Simple merge
diff --cc net/dccp/ipv6.c
Simple merge
diff --cc net/dsa/slave.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -94,35 -98,10 +94,35 @@@ bool mpls_pkt_too_big(const struct sk_b
  }
  EXPORT_SYMBOL_GPL(mpls_pkt_too_big);
  
- static u32 mpls_multipath_hash(struct mpls_route *rt,
-                              struct sk_buff *skb, bool bos)
 +void mpls_stats_inc_outucastpkts(struct net_device *dev,
 +                               const struct sk_buff *skb)
 +{
 +      struct mpls_dev *mdev;
 +
 +      if (skb->protocol == htons(ETH_P_MPLS_UC)) {
 +              mdev = mpls_dev_get(dev);
 +              if (mdev)
 +                      MPLS_INC_STATS_LEN(mdev, skb->len,
 +                                         tx_packets,
 +                                         tx_bytes);
 +      } else if (skb->protocol == htons(ETH_P_IP)) {
 +              IP_UPD_PO_STATS(dev_net(dev), IPSTATS_MIB_OUT, skb->len);
 +#if IS_ENABLED(CONFIG_IPV6)
 +      } else if (skb->protocol == htons(ETH_P_IPV6)) {
 +              struct inet6_dev *in6dev = __in6_dev_get(dev);
 +
 +              if (in6dev)
 +                      IP6_UPD_PO_STATS(dev_net(dev), in6dev,
 +                                       IPSTATS_MIB_OUT, skb->len);
 +#endif
 +      }
 +}
 +EXPORT_SYMBOL_GPL(mpls_stats_inc_outucastpkts);
 +
+ static u32 mpls_multipath_hash(struct mpls_route *rt, struct sk_buff *skb)
  {
        struct mpls_entry_decoded dec;
+       unsigned int mpls_hdr_len = 0;
        struct mpls_shim_hdr *hdr;
        bool eli_seen = false;
        int label_index;
@@@ -308,24 -280,27 +310,24 @@@ static int mpls_forward(struct sk_buff 
        hdr = mpls_hdr(skb);
        dec = mpls_entry_decode(hdr);
  
-       /* Pop the label */
-       skb_pull(skb, sizeof(*hdr));
-       skb_reset_network_header(skb);
-       skb_orphan(skb);
        rt = mpls_route_input_rcu(net, dec.label);
 -      if (!rt)
 +      if (!rt) {
 +              MPLS_INC_STATS(mdev, rx_noroute);
                goto drop;
 +      }
  
-       nh = mpls_select_multipath(rt, skb, dec.bos);
+       nh = mpls_select_multipath(rt, skb);
        if (!nh)
 -              goto drop;
 -
 -      /* Find the output device */
 -      out_dev = rcu_dereference(nh->nh_dev);
 -      if (!mpls_output_possible(out_dev))
 -              goto drop;
 +              goto err;
  
+       /* Pop the label */
+       skb_pull(skb, sizeof(*hdr));
+       skb_reset_network_header(skb);
+       skb_orphan(skb);
        if (skb_warn_if_lro(skb))
 -              goto drop;
 +              goto err;
  
        skb_forward_csum(skb);
  
Simple merge
Simple merge
diff --cc net/sctp/ipv6.c
Simple merge
Simple merge
diff --cc net/tipc/node.c
Simple merge