1. 04 2月, 2017 8 次提交
    • E
      cxgb4: get rid of custom busy poll code · 5226b791
      Eric Dumazet 提交于
      In linux-4.5, busy polling was implemented in core
      NAPI stack, meaning that all custom implementation can
      be removed from drivers.
      
      Not only we remove lot of code, we also remove one spin_lock()
      from driver fast path.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Ganesh Goudar <ganeshgr@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5226b791
    • E
      myri10ge: get rid of custom busy poll code · 362108b5
      Eric Dumazet 提交于
      Compared to custom busy_poll, the generic NAPI one is simpler and
      removes a lot of code. It removes one atomic in the fast path (when
      busy poll is not in action) since we do not have to use an extra
      spinlock.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      362108b5
    • E
      be2net: get rid of custom busy poll code · fb6113e6
      Eric Dumazet 提交于
      Compared to custom busy_poll, the generic NAPI one is better, since
      it allows to use GRO, and it removes a lot of code and extra locked
      operations in fast path.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Sathya Perla <sathya.perla@broadcom.com>
      Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>
      Cc: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fb6113e6
    • R
      vxlan: support fdb and learning in COLLECT_METADATA mode · 3ad7a4b1
      Roopa Prabhu 提交于
      Vxlan COLLECT_METADATA mode today solves the per-vni netdev
      scalability problem in l3 networks. It expects all forwarding
      information to be present in dst_metadata. This patch series
      enhances collect metadata mode to include the case where only
      vni is present in dst_metadata, and the vxlan driver can then use
      the rest of the forwarding information datbase to make forwarding
      decisions. There is no change to default COLLECT_METADATA
      behaviour. These changes only apply to COLLECT_METADATA when
      used with the bridging use-case with a special dst_metadata
      tunnel info flag (eg: where vxlan device is part of a bridge).
      For all this to work, the vxlan driver will need to now support a
      single fdb table hashed by mac + vni. This series essentially makes
      this happen.
      
      use-case and workflow:
      vxlan collect metadata device participates in bridging vlan
      to vn-segments. Bridge driver above the vxlan device,
      sends the vni corresponding to the vlan in the dst_metadata.
      vxlan driver will lookup forwarding database with (mac + vni)
      for the required remote destination information to forward the
      packet.
      
      Changes introduced by this patch:
          - allow learning and forwarding database state in vxlan netdev in
            COLLECT_METADATA mode. Current behaviour is not changed
            by default. tunnel info flag IP_TUNNEL_INFO_BRIDGE is used
            to support the new bridge friendly mode.
          - A single fdb table hashed by (mac, vni) to allow fdb entries with
            multiple vnis in the same fdb table
          - rx path already has the vni
          - tx path expects a vni in the packet with dst_metadata
          - prior to this series, fdb remote_dsts carried remote vni and
            the vxlan device carrying the fdb table represented the
            source vni. With the vxlan device now representing multiple vnis,
            this patch adds a src vni attribute to the fdb entry. The remote
            vni already uses NDA_VNI attribute. This patch introduces
            NDA_SRC_VNI netlink attribute to represent the src vni in a multi
            vni fdb table.
      
      iproute2 example (patched and pruned iproute2 output to just show
      relevant fdb entries):
      example shows same host mac learnt on two vni's.
      
      before (netdev per vni):
      $bridge fdb show | grep "00:02:00:00:00:03"
      00:02:00:00:00:03 dev vxlan1001 dst 12.0.0.8 self
      00:02:00:00:00:03 dev vxlan1000 dst 12.0.0.8 self
      
      after this patch with collect metadata in bridged mode (single netdev):
      $bridge fdb show | grep "00:02:00:00:00:03"
      00:02:00:00:00:03 dev vxlan0 src_vni 1001 dst 12.0.0.8 self
      00:02:00:00:00:03 dev vxlan0 src_vni 1000 dst 12.0.0.8 self
      Signed-off-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3ad7a4b1
    • A
      hns_enet: use cpumask_var_t for on-stack mask · ff3edc9b
      Arnd Bergmann 提交于
      On large SMP builds, we can run into a build warning:
      
      drivers/net/ethernet/hisilicon/hns/hns_enet.c: In function 'hns_set_irq_affinity.isra.27':
      drivers/net/ethernet/hisilicon/hns/hns_enet.c:1242:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
      
      The solution here is to use cpumask_var_t, which can use dynamic
      allocation when CONFIG_CPUMASK_OFFSTACK is enabled.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ff3edc9b
    • E
      virtio_net: remove custom busy_poll · ceef438d
      Eric Dumazet 提交于
      Generic NAPI busy polling allows us to remove custom implementations
      found in drivers.
      
      It is possible further optimization could be done by testing
      napi_complete_done() return value.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Acked-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ceef438d
    • E
      atl1e: add GRO support · c45f8e10
      Eric Dumazet 提交于
      It is time to add GRO support to this driver.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c45f8e10
    • A
      cxgb4: Fix uld_send() for ctrl pkts · 0d4b729d
      Arjun V 提交于
      Without any uld being loaded, uld_txq_info[] will be NULL. uld_send()
      is also used for sending control work requests(for eg: setting filter)
      that dont require any ulds to be loaded. Hence move uld_txq_info[]
      assignment after ctrl_xmit().
      
      Also added a NULL check for uld_txq_info[].
      
      Fixes: 94cdb8bb (cxgb4: Add support for dynamic allocation
             of resources for ULD).
      Signed-off-by: NArjun V <arjun@chelsio.com>
      Signed-off-by: NCasey Leedom <leedom@chelsio.com>
      Signed-off-by: NGanesh Goudar <ganeshgr@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0d4b729d
  2. 03 2月, 2017 11 次提交
  3. 02 2月, 2017 7 次提交
  4. 01 2月, 2017 8 次提交
  5. 31 1月, 2017 6 次提交