1. 02 Jun, 2016 5 commits
    • Peter Robinson's avatar
      stmmac: make platform drivers depend on their associated SoC · 2e280c18
      Peter Robinson authored
      There's not much point, except compile test, enabling the stmmac
      platform drivers unless their actual SoC is enabled. They're not
      useful without it.
      Signed-off-by: default avatarPeter Robinson <pbrobinson@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2e280c18
    • David S. Miller's avatar
      Merge branch 'macvlan-less-mcast-cloning' · 250ba748
      David S. Miller authored
      Herbert Xu says:
      
      ====================
      macvlan: Avoid unnecessary multicast cloning
      
      This patch tries to improve macvlan multicast performance by
      maintaining a filter hash at the macvlan_port level so that we
      can quickly determine whether a given packet is needed or not.
      
      It is preceded by a patch that fixes a potential use-after-free
      bug that I discovered while looking over this.
      
      v2 fixed a bug where promiscuous/allmulti settings weren't handled
      correctly.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      250ba748
    • Herbert Xu's avatar
      macvlan: Avoid unnecessary multicast cloning · 9c127a01
      Herbert Xu authored
      Currently we always queue a multicast packet for further processing,
      even if none of the macvlan devices are subscribed to the address.
      
      This patch optimises this by adding a global multicast filter for
      a macvlan_port.
      
      Note that this patch doesn't handle the broadcast addresses of the
      individual macvlan devices correctly, if they are not all identical
      to vlan->lowerdev.  However, this is already broken because there
      is no mechanism in place to update the individual multicast filters
      when you change the broadcast address.
      
      If someone cares enough they should fix this by collecting all
      broadcast addresses for a macvlan as we do for multicast and unicast.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9c127a01
    • Herbert Xu's avatar
      macvlan: Fix potential use-after free for broadcasts · 260916df
      Herbert Xu authored
      When we postpone a broadcast packet we save the source port in
      the skb if it is local.  However, the source port can disappear
      before we get a chance to process the packet.
      
      This patch fixes this by holding a ref count on the netdev.
      
      It also delays the skb->cb modification until after we allocate
      the new skb as you should not modify shared skbs.
      
      Fixes: 412ca155 ("macvlan: Move broadcasts into a work queue")
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      260916df
    • Eric Dumazet's avatar
      udp: avoid csum_partial() for validated skb · 595d0b29
      Eric Dumazet authored
      In commit e6afc8ac ("udp: remove headers from UDP packets before
      queueing"), udp_csum_pull_header() helper was added but missed fact
      that CHECKSUM_UNNECESSARY packets were now converted to CHECKSUM_NONE
      and skb->csum_valid was set to 1 for them.
      
      Since csum_partial() is quite expensive, even for 8-byte area, it is
      worth adding a test.
      
      We also can use skb->data instead of udp_hdr() as we are pulling
      UDP headers, as it is sightly faster.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      595d0b29
  2. 01 Jun, 2016 5 commits
  3. 31 May, 2016 15 commits
  4. 30 May, 2016 15 commits