]> git.openfabrics.org - ~emulex/for-vlad/old/compat-rdma.git/commitdiff
Added RHEL7.1 backport patches
authorVladimir Sokolovsky <vlad@mellanox.com>
Wed, 1 Apr 2015 18:46:29 +0000 (21:46 +0300)
committerVladimir Sokolovsky <vlad@mellanox.com>
Wed, 1 Apr 2015 18:46:29 +0000 (21:46 +0300)
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
patches/0003-BACKPORT-mlx4.patch
patches/0009-BACKPORT-ipoib.patch

index 00f54e619e39ec8024de3c7055459fc115ec4da6..d31e4541a1f68443a703b5c98ddcc310dec3eb74 100644 (file)
@@ -3,21 +3,21 @@ Subject: [PATCH] BACKPORT: mlx4
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
- drivers/infiniband/hw/mlx4/cm.c                 |   27 +++
- drivers/infiniband/hw/mlx4/main.c               |    8 +
- drivers/net/ethernet/mellanox/mlx4/cmd.c        |    6 +
- drivers/net/ethernet/mellanox/mlx4/en_clock.c   |    2 +
- drivers/net/ethernet/mellanox/mlx4/en_cq.c      |   11 ++
- drivers/net/ethernet/mellanox/mlx4/en_dcb_nl.c  |    4 +
- drivers/net/ethernet/mellanox/mlx4/en_ethtool.c |   62 +++++++-
- drivers/net/ethernet/mellanox/mlx4/en_netdev.c  |  199 +++++++++++++++++++++++
- drivers/net/ethernet/mellanox/mlx4/en_rx.c      |   84 ++++++++++-
- drivers/net/ethernet/mellanox/mlx4/en_tx.c      |   53 ++++++-
- drivers/net/ethernet/mellanox/mlx4/eq.c         |   10 ++
- drivers/net/ethernet/mellanox/mlx4/main.c       |   24 +++
- drivers/net/ethernet/mellanox/mlx4/mlx4_en.h    |   21 +++-
- include/linux/mlx4/cq.h                         |    5 +
- 14 files changed, 511 insertions(+), 5 deletions(-)
+ drivers/infiniband/hw/mlx4/cm.c                 |  27 ++++
+ drivers/infiniband/hw/mlx4/main.c               |   8 +
+ drivers/net/ethernet/mellanox/mlx4/cmd.c        |   6 +
+ drivers/net/ethernet/mellanox/mlx4/en_clock.c   |   2 +
+ drivers/net/ethernet/mellanox/mlx4/en_cq.c      |  11 ++
+ drivers/net/ethernet/mellanox/mlx4/en_dcb_nl.c  |   4 +
+ drivers/net/ethernet/mellanox/mlx4/en_ethtool.c |  62 ++++++-
+ drivers/net/ethernet/mellanox/mlx4/en_netdev.c  | 205 ++++++++++++++++++++++++
+ drivers/net/ethernet/mellanox/mlx4/en_rx.c      |  84 +++++++++-
+ drivers/net/ethernet/mellanox/mlx4/en_tx.c      |  53 +++++-
+ drivers/net/ethernet/mellanox/mlx4/eq.c         |  10 ++
+ drivers/net/ethernet/mellanox/mlx4/main.c       |  24 +++
+ drivers/net/ethernet/mellanox/mlx4/mlx4_en.h    |  21 ++-
+ include/linux/mlx4/cq.h                         |   5 +
+ 14 files changed, 517 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/infiniband/hw/mlx4/cm.c b/drivers/infiniband/hw/mlx4/cm.c
 index xxxxxxx..xxxxxxx xxxxxx
@@ -786,7 +786,21 @@ index xxxxxxx..xxxxxxx xxxxxx
        priv->dev->features    &= ~NETIF_F_GSO_UDP_TUNNEL;
  
        ret = mlx4_SET_PORT_VXLAN(priv->mdev->dev, priv->port,
-@@ -2379,15 +2482,25 @@ static const struct net_device_ops mlx4_netdev_ops = {
+@@ -2356,11 +2459,13 @@ static void mlx4_en_del_vxlan_port(struct  net_device *dev,
+       queue_work(priv->mdev->workqueue, &priv->vxlan_del_task);
+ }
++#ifdef HAVE_VXLAN_GSO_CHECK
+ static bool mlx4_en_gso_check(struct sk_buff *skb, struct net_device *dev)
+ {
+       return vxlan_gso_check(skb);
+ }
+ #endif
++#endif
+ static const struct net_device_ops mlx4_netdev_ops = {
+       .ndo_open               = mlx4_en_open,
+@@ -2379,22 +2484,41 @@ static const struct net_device_ops mlx4_netdev_ops = {
  #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = mlx4_en_netpoll,
  #endif
@@ -812,8 +826,10 @@ index xxxxxxx..xxxxxxx xxxxxx
  #ifdef CONFIG_MLX4_EN_VXLAN
        .ndo_add_vxlan_port     = mlx4_en_add_vxlan_port,
        .ndo_del_vxlan_port     = mlx4_en_del_vxlan_port,
-@@ -2395,6 +2508,13 @@ static const struct net_device_ops mlx4_netdev_ops = {
++#ifdef HAVE_VXLAN_GSO_CHECK
+       .ndo_gso_check          = mlx4_en_gso_check,
  #endif
++#endif
  };
  
 +#ifdef HAVE_NETDEV_EXT_NDO_GET_PHYS_PORT_ID
@@ -826,7 +842,7 @@ index xxxxxxx..xxxxxxx xxxxxx
  static const struct net_device_ops mlx4_netdev_ops_master = {
        .ndo_open               = mlx4_en_open,
        .ndo_stop               = mlx4_en_close,
-@@ -2410,18 +2530,30 @@ static const struct net_device_ops mlx4_netdev_ops_master = {
+@@ -2410,24 +2534,53 @@ static const struct net_device_ops mlx4_netdev_ops_master = {
        .ndo_vlan_rx_kill_vid   = mlx4_en_vlan_rx_kill_vid,
        .ndo_set_vf_mac         = mlx4_en_set_vf_mac,
        .ndo_set_vf_vlan        = mlx4_en_set_vf_vlan,
@@ -857,10 +873,12 @@ index xxxxxxx..xxxxxxx xxxxxx
  #ifdef CONFIG_MLX4_EN_VXLAN
        .ndo_add_vxlan_port     = mlx4_en_add_vxlan_port,
        .ndo_del_vxlan_port     = mlx4_en_del_vxlan_port,
-@@ -2429,6 +2561,21 @@ static const struct net_device_ops mlx4_netdev_ops_master = {
++#ifdef HAVE_VXLAN_GSO_CHECK
+       .ndo_gso_check          = mlx4_en_gso_check,
  #endif
- };
++#endif
++};
++
 +#ifdef HAVE_NET_DEVICE_OPS_EXT
 +static const struct net_device_ops_ext mlx4_netdev_ops_master_ext = {
 +      .size                   = sizeof(struct net_device_ops_ext),
@@ -873,13 +891,12 @@ index xxxxxxx..xxxxxxx xxxxxx
 +#ifdef HAVE_NETDEV_EXT_NDO_GET_PHYS_PORT_ID
 +      .ndo_get_phys_port_id   = mlx4_en_get_phys_port_id,
 +#endif
-+};
+ };
 +#endif
-+
  int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
                        struct mlx4_en_port_profile *prof)
- {
-@@ -2447,7 +2594,9 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
+@@ -2447,7 +2600,9 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
        netif_set_real_num_rx_queues(dev, prof->rx_ring_num);
  
        SET_NETDEV_DEV(dev, &mdev->dev->pdev->dev);
@@ -889,7 +906,7 @@ index xxxxxxx..xxxxxxx xxxxxx
  
        /*
         * Initialize driver private data
-@@ -2560,19 +2709,41 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
+@@ -2560,19 +2715,41 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
        /*
         * Initialize netdev entry points
         */
@@ -931,7 +948,7 @@ index xxxxxxx..xxxxxxx xxxxxx
        dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
        if (mdev->LSO_support)
                dev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6;
-@@ -2588,9 +2759,37 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
+@@ -2588,9 +2765,37 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
        if (mdev->dev->caps.steering_mode ==
            MLX4_STEERING_MODE_DEVICE_MANAGED)
                dev->hw_features |= NETIF_F_NTUPLE;
index ff0dead740ae49deeb096df3e3ef4d87143255d8..5b204f2798be9579cad6bb9818ad3945a1857624 100644 (file)
@@ -3,12 +3,12 @@ Subject: [PATCH] BACKPORT: ipoib
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
- drivers/infiniband/ulp/ipoib/ipoib.h           |    3 ++
- drivers/infiniband/ulp/ipoib/ipoib_cm.c        |    8 +++++
- drivers/infiniband/ulp/ipoib/ipoib_main.c      |   41 ++++++++++++++++++++++++
- drivers/infiniband/ulp/ipoib/ipoib_multicast.c |   15 +++++++++
- drivers/infiniband/ulp/ipoib/ipoib_netlink.c   |    8 +++++
- 5 files changed, 75 insertions(+), 0 deletions(-)
+ drivers/infiniband/ulp/ipoib/ipoib.h           |  3 ++
+ drivers/infiniband/ulp/ipoib/ipoib_cm.c        |  8 +++++
+ drivers/infiniband/ulp/ipoib/ipoib_main.c      | 45 ++++++++++++++++++++++++++
+ drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 15 +++++++++
+ drivers/infiniband/ulp/ipoib/ipoib_netlink.c   |  8 +++++
+ 5 files changed, 79 insertions(+)
 
 diff --git a/drivers/infiniband/ulp/ipoib/ipoib.h b/drivers/infiniband/ulp/ipoib/ipoib.h
 index xxxxxxx..xxxxxxx xxxxxx
@@ -146,7 +146,19 @@ index xxxxxxx..xxxxxxx xxxxxx
  
        memcpy(dev->broadcast, ipv4_bcast_addr, INFINIBAND_ALEN);
  
-@@ -1521,6 +1551,7 @@ int ipoib_set_dev_features(struct ipoib_dev_priv *priv, struct ib_device *hca)
+@@ -1394,7 +1424,11 @@ struct ipoib_dev_priv *ipoib_intf_alloc(const char *name)
+       struct net_device *dev;
+       dev = alloc_netdev((int)sizeof(struct ipoib_dev_priv), name,
++#ifdef HAVE_ALLOC_NETDEV_4P
+                          NET_NAME_UNKNOWN, ipoib_setup);
++#else
++                         ipoib_setup);
++#endif
+       if (!dev)
+               return NULL;
+@@ -1521,6 +1555,7 @@ int ipoib_set_dev_features(struct ipoib_dev_priv *priv, struct ib_device *hca)
        kfree(device_attr);
  
        if (priv->hca_caps & IB_DEVICE_UD_IP_CSUM) {
@@ -154,7 +166,7 @@ index xxxxxxx..xxxxxxx xxxxxx
                priv->dev->hw_features = NETIF_F_SG |
                        NETIF_F_IP_CSUM | NETIF_F_RXCSUM;
  
-@@ -1528,6 +1559,14 @@ int ipoib_set_dev_features(struct ipoib_dev_priv *priv, struct ib_device *hca)
+@@ -1528,6 +1563,14 @@ int ipoib_set_dev_features(struct ipoib_dev_priv *priv, struct ib_device *hca)
                        priv->dev->hw_features |= NETIF_F_TSO;
  
                priv->dev->features |= priv->dev->hw_features;
@@ -169,7 +181,7 @@ index xxxxxxx..xxxxxxx xxxxxx
        }
  
        return 0;
-@@ -1559,7 +1598,9 @@ static struct net_device *ipoib_add_port(const char *format,
+@@ -1559,7 +1602,9 @@ static struct net_device *ipoib_add_port(const char *format,
        priv->dev->mtu  = IPOIB_UD_MTU(priv->max_ib_mtu);
        priv->mcast_mtu  = priv->admin_mtu = priv->dev->mtu;