1. 19 Oct, 2015 17 commits
    • Jesse Brandeburg's avatar
      i40evf: fix overlong BIT defines · d08f5558
      Jesse Brandeburg authored
      The defines from the RSS enabling call were mistakenly
      missed in the patches to the i40e which should have been
      to i40evf as well.
      
      This is a follow up to (commit ed921559886dd40528) "fix
      32 bit build warnings".
      Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      d08f5558
    • Kiran Patil's avatar
      i40e: Lock for VSI's MAC filter list · 21659035
      Kiran Patil authored
      This patch introduces a spinlock which is to be used for synchronizing
      access to VSI's MAC filter list.
      
      This patch also synchronizes execution of other codepaths which are
      accessing VSI's MAC filter list with execution of
      service_task:sync_vsi_filters.
      
      In function i40e_add_vsi, copied out LAA MAC address instead of cloning
      MAC filter entry because only MAC address is needed to remove MAC VLAN
      filter from FW/HW.
      
      Change-ID: I0e10ac7c715d44aa994239642aa4d57c998573a2
      Signed-off-by: default avatarKiran Patil <kiran.patil@intel.com>
      Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      21659035
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next · 371f1c7e
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter/IPVS updates for net-next
      
      The following patchset contains Netfilter/IPVS updates for your net-next
      tree. Most relevantly, updates for the nfnetlink_log to integrate with
      conntrack, fixes for cttimeout and improvements for nf_queue core, they are:
      
      1) Remove useless ifdef around static inline function in IPVS, from
         Eric W. Biederman.
      
      2) Simplify the conntrack support for nfnetlink_queue: Merge
         nfnetlink_queue_ct.c file into nfnetlink_queue_core.c, then rename it back
         to nfnetlink_queue.c
      
      3) Use y2038 safe timestamp from nfnetlink_queue.
      
      4) Get rid of dead function definition in nf_conntrack, from Flavio
         Leitner.
      
      5) Attach conntrack support for nfnetlink_log.c, from Ken-ichirou MATSUZAWA.
         This adds a new NETFILTER_NETLINK_GLUE_CT Kconfig switch that
         controls enabling both nfqueue and nflog integration with conntrack.
         The userspace application can request this via NFULNL_CFG_F_CONNTRACK
         configuration flag.
      
      6) Remove unused netns variables in IPVS, from Eric W. Biederman and
         Simon Horman.
      
      7) Don't put back the refcount on the cttimeout object from xt_CT on success.
      
      8) Fix crash on cttimeout policy object removal. We have to flush out
         the cttimeout extension area of the conntrack not to refer to an unexisting
         object that was just removed.
      
      9) Make sure rcu_callback completion before removing nfnetlink_cttimeout
         module removal.
      
      10) Fix compilation warning in br_netfilter when no nf_defrag_ipv4 and
          nf_defrag_ipv6 are enabled. Patch from Arnd Bergmann.
      
      11) Autoload ctnetlink dependencies when NFULNL_CFG_F_CONNTRACK is
          requested. Again from Ken-ichirou MATSUZAWA.
      
      12) Don't use pointer to previous hook when reinjecting traffic via
          nf_queue with NF_REPEAT verdict since it may be already gone. This
          also avoids a deadloop if the userspace application keeps returning
          NF_REPEAT.
      
      13) A bunch of cleanups for netfilter IPv4 and IPv6 code from Ian Morris.
      
      14) Consolidate logger instance existence check in nfulnl_recv_config().
      
      15) Fix broken atomicity when applying configuration updates to logger
          instances in nfnetlink_log.
      
      16) Get rid of the .owner attribute in our hook object. We don't need
          this anymore since we're dropping pending packets that have escaped
          from the kernel when unremoving the hook. Patch from Florian Westphal.
      
      17) Remove unnecessary rcu_read_lock() from nf_reinject code, we always
          assume RCU read side lock from .call_rcu in nfnetlink. Also from Florian.
      
      18) Use static inline function instead of macros to define NF_HOOK() and
          NF_HOOK_COND() when no netfilter support in on, from Arnd Bergmann.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      371f1c7e
    • santosh.shilimkar@oracle.com's avatar
      RDS: fix rds-ping deadlock over TCP transport · 7b4b0009
      santosh.shilimkar@oracle.com authored
      Sowmini found hang with rds-ping while testing RDS over TCP. Its
      a corner case and doesn't happen always. The issue is not reproducible
      with IB transport. Its clear from below dump why we see it with RDS TCP.
      
       [<ffffffff8153b7e5>] do_tcp_setsockopt+0xb5/0x740
       [<ffffffff8153bec4>] tcp_setsockopt+0x24/0x30
       [<ffffffff814d57d4>] sock_common_setsockopt+0x14/0x20
       [<ffffffffa096071d>] rds_tcp_xmit_prepare+0x5d/0x70 [rds_tcp]
       [<ffffffffa093b5f7>] rds_send_xmit+0xd7/0x740 [rds]
       [<ffffffffa093bda2>] rds_send_pong+0x142/0x180 [rds]
       [<ffffffffa0939d34>] rds_recv_incoming+0x274/0x330 [rds]
       [<ffffffff810815ae>] ? ttwu_queue+0x11e/0x130
       [<ffffffff814dcacd>] ? skb_copy_bits+0x6d/0x2c0
       [<ffffffffa0960350>] rds_tcp_data_recv+0x2f0/0x3d0 [rds_tcp]
       [<ffffffff8153d836>] tcp_read_sock+0x96/0x1c0
       [<ffffffffa0960060>] ? rds_tcp_recv_init+0x40/0x40 [rds_tcp]
       [<ffffffff814d6a90>] ? sock_def_write_space+0xa0/0xa0
       [<ffffffffa09604d1>] rds_tcp_data_ready+0xa1/0xf0 [rds_tcp]
       [<ffffffff81545249>] tcp_data_queue+0x379/0x5b0
       [<ffffffffa0960cdb>] ? rds_tcp_write_space+0xbb/0x110 [rds_tcp]
       [<ffffffff81547fd2>] tcp_rcv_established+0x2e2/0x6e0
       [<ffffffff81552602>] tcp_v4_do_rcv+0x122/0x220
       [<ffffffff81553627>] tcp_v4_rcv+0x867/0x880
       [<ffffffff8152e0b3>] ip_local_deliver_finish+0xa3/0x220
      
      This happens because rds_send_xmit() chain wants to take
      sock_lock which is already taken by tcp_v4_rcv() on its
      way to rds_tcp_data_ready(). Commit db6526dc ("RDS: use
      rds_send_xmit() state instead of RDS_LL_SEND_FULL") which
      was trying to opportunistically finish the send request
      in same thread context.
      
      But because of above recursive lock hang with RDS TCP,
      the send work from rds_send_pong() needs to deferred to
      worker to avoid lock up. Given RDS ping is more of connectivity
      test than performance critical path, its should be ok even
      for transport like IB.
      Reported-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
      Acked-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: default avatarSantosh Shilimkar <ssantosh@kernel.org>
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
      Acked-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7b4b0009
    • stephen hemminger's avatar
      uapi: add mpls_iptunnel.h · b3958b9e
      stephen hemminger authored
      Add missing rule to export mpls iptunnel header needed by iproute2
      Signed-off-by: default avatarStephen Hemminger <stephen@networkplumber.org>
      Acked-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b3958b9e
    • Eric Dumazet's avatar
      tcp: do not set queue_mapping on SYNACK · dc6ef6be
      Eric Dumazet authored
      At the time of commit fff32699 ("tcp: reflect SYN queue_mapping into
      SYNACK packets") we had little ways to cope with SYN floods.
      
      We no longer need to reflect incoming skb queue mappings, and instead
      can pick a TX queue based on cpu cooking the SYNACK, with normal XPS
      affinities.
      
      Note that all SYNACK retransmits were picking TX queue 0, this no longer
      is a win given that SYNACK rtx are now distributed on all cpus.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dc6ef6be
    • Arnd Bergmann's avatar
      net: hix5hd2_gmac: avoid integer overload warning · 951b5d95
      Arnd Bergmann authored
      BITS_RX_EN is an 'unsigned long' constant, so the ones complement of that
      has bits set that do not fit into a 32-bit variable on 64-bit architectures,
      which causes a harmless gcc warning:
      
      drivers/net/ethernet/hisilicon/hix5hd2_gmac.c: In function 'hix5hd2_port_disable':
      drivers/net/ethernet/hisilicon/hix5hd2_gmac.c:374:2: warning: large integer implicitly truncated to unsigned type [-Woverflow]
        writel_relaxed(~(BITS_RX_EN | BITS_TX_EN), priv->base + PORT_EN);
      
      This adds a cast to (u32) to tell gcc that the code is indeed fine.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      951b5d95
    • Arnd Bergmann's avatar
      net: hisilicon: add OF dependency · 876133d3
      Arnd Bergmann authored
      The HNS MDIO driver fails to build on older ARM machines that are not
      yet converted to CONFIG_OF:
      
      drivers/net/ethernet/hisilicon/hns_mdio.c: In function 'hns_mdio_bus_name':
      drivers/net/ethernet/hisilicon/hns_mdio.c:405:14: error: 'OF_BAD_ADDR' undeclared (first use in this function)
        u64 taddr = OF_BAD_ADDR;
                    ^
      drivers/net/ethernet/hisilicon/hns_mdio.c:405:14: note: each undeclared identifier is reported only once for each function it appears in
      drivers/net/ethernet/hisilicon/hns_mdio.c:409:11: error: implicit declaration of function 'of_translate_address' [-Werror=implicit-function-declaration]
         taddr = of_translate_address(np, addr);
                 ^
      
      This clarifies the dependency to ensure we don't attempt to build these
      drivers without CONFIG_OF, but also adds a COMPILE_TEST alternative to
      give us better build coverage testing.
      
      Build-tested on x86 as well to ensure this actually works.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      876133d3
    • Arnd Bergmann's avatar
      net: hisilicon: include linux/vmalloc.h in dsaf · 119c7ad8
      Arnd Bergmann authored
      Some configurations fail to build the hns dsaf code because of
      a missing header file:
      
      ethernet/hisilicon/hns/hns_dsaf_main.c: In function 'hns_dsaf_init':
      ethernet/hisilicon/hns/hns_dsaf_main.c:1096:2: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
        priv->soft_mac_tbl = vzalloc(sizeof(*priv->soft_mac_tbl)
      
      This adds the correct #include.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      119c7ad8
    • David S. Miller's avatar
      Merge branch 'hns-fixes' · a679dbbb
      David S. Miller authored
      yankejian says:
      
      ====================
      net: hns: fixes two bugs in hns driver
      
        This patchset fixes two bugs in hns driver.
        - fixes timeout when received pause frame from the connective ports
        - should be set by using ethtool -s when the devices are link down
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a679dbbb
    • lisheng's avatar
      net: hns: fixes a bug about timeout by pause frame · 90a505b9
      lisheng authored
      this patch fixes the bug triggered timeout sequence. when the connective
      ports cannot accept the packets with higher speed, they will send out the
      pause frame to the Soc's mac. At that time, the driver resets the relevant
      of the Soc, then it causes the packets cannot be sent out immediately.
      this patch fixes the issue.
      Signed-off-by: default avataryankejian <yankejian@huawei.com>
      Signed-off-by: default avatarYisen Zhuang <yisen.zhuang@huawei.com>
      Signed-off-by: default avatarlisheng <lisheng011@huawei.com>
      Signed-off-by: default avatarlipeng <lipeng321@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      90a505b9
    • Chenny Xu's avatar
      net: hns: fixes the issue by using ethtool -s · 20ddb1d3
      Chenny Xu authored
        before this patch, hns driver only permits user to set the net device
      by using ethtool -s when the device is link up. it is obviously not so
      good. it needs to be set no matter it is link up or down. so this patch
      fixes this issue.
      Signed-off-by: default avataryankejian <yankejian@huawei.com>
      Signed-off-by: default avatarYisen Zhuang <yisen.zhuang@huawei.com>
      Signed-off-by: default avatarlisheng <lisheng011@huawei.com>
      Signed-off-by: default avatarlipeng <lipeng321@huawei.com>
      Signed-off-by: default avatarChenny Xu <chenny.xu@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20ddb1d3
    • David S. Miller's avatar
      Merge branch 'hsi-fixes' · 4639a3b5
      David S. Miller authored
      huangdaode says:
      
      ====================
      net: hisilicon fix some bugs in HNS drivers
      
      This patchset fixes the two bugs in HNS driver, one is remove the hnae sysfs interface
      according to the review comments from Arnd Bergmann <arnd@arndb.de>, another
      is fixing the wrong mac_id judgement bug which is found during internal tests.
      
      change log:
      v3:
       remove the hnae sysfs interface.
      
      v2:
        1) remove first bug fix, which is fixed in another patch submitted by
           Arnd Bergmann <arnd@arndb.de>
        2) change the code sytyle according to Joe.
      
      v1:
       initial version.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4639a3b5
    • huangdaode's avatar
      net: hisilicon fix a bug on Hisilicon Network Subsystem · abc2b10e
      huangdaode authored
      This patch fixes the wrong judgement of mac_id when get port num.
      Signed-off-by: default avatarhuangdaode <huangdaode@hisilicon.com>
      Signed-off-by: default avataryankejian <yankejian@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      abc2b10e
    • huangdaode's avatar
      net: hisilicon rm hnae sysfs interface · 31bbd771
      huangdaode authored
      This patch removes the hns driver hnae sysfs interface according to
      Arnd's review comments.
      Signed-off-by: default avatarhuangdaode <huangdaode@hisilicon.com>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      31bbd771
    • Arun Parameswaran's avatar
      net: phy: bcm-phy-lib: Fix module license issue · b89eb1fc
      Arun Parameswaran authored
      The 'bcm-phy-lib.c', added as a part of the commit
      "net: phy: Add Broadcom phy library for common interfaces"
      was missing the module license. This was causing an issue
      when the library is built as a module; "module license
      'unspecified' taints kernel".
      
      This patch fixes the issue by adding the module license,
      author and description to the bcm-phy-lib.c file.
      
      Fixes: a1cba561 ("net: phy: Add Broadcom phy library for
      common interfaces")
      Signed-off-by: default avatarArun Parameswaran <arunp@broadcom.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b89eb1fc
    • Li RongQing's avatar
      ipconfig: send Client-identifier in DHCP requests · 26fb342c
      Li RongQing authored
      A dhcp server may provide parameters to a client from a pool of IP
      addresses and using a shared rootfs, or provide a specific set of
      parameters for a specific client, usually using the MAC address to
      identify each client individually. The dhcp protocol also specifies
      a client-id field which can be used to determine the correct
      parameters to supply when no MAC address is available. There is
      currently no way to tell the kernel to supply a specific client-id,
      only the userspace dhcp clients support this feature, but this can
      not be used when the network is needed before userspace is available
      such as when the root filesystem is on NFS.
      
      This patch is to be able to do something like "ip=dhcp,client_id_type,
      client_id_value", as a kernel parameter to enable the kernel to
      identify itself to the server.
      Signed-off-by: default avatarLi RongQing <roy.qing.li@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      26fb342c
  2. 17 Oct, 2015 1 commit
  3. 16 Oct, 2015 22 commits