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
index 05ad086ab71dc97d7de833cdf651cb0c28e94618,19b6129eab2383bbb80f1c259b1511269409a232..08a4d287226bc468935e6f828351f47bf26d55c3
   * 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
index 4dc81963af8f7c0d131e448230b4e8ded3f4ab54,5b77377e5a15474e39037be5e6e873ebceb33555..64d3bf269a26896b55517517091c12bfd3a0411f
@@@ -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