1. 27 May, 2015 2 commits
  2. 26 May, 2015 7 commits
    • Eric Dumazet's avatar
      tcp: fix/cleanup inet_ehash_locks_alloc() · 095dc8e0
      Eric Dumazet authored
      If tcp ehash table is constrained to a very small number of buckets
      (eg boot parameter thash_entries=128), then we can crash if spinlock
      array has more entries.
      
      While we are at it, un-inline inet_ehash_locks_alloc() and make
      following changes :
      
      - Budget 2 cache lines per cpu worth of 'spinlocks'
      - Try to kmalloc() the array to avoid extra TLB pressure.
        (Most servers at Google allocate 8192 bytes for this hash table)
      - Get rid of various #ifdef
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      095dc8e0
    • Jon Paul Maloy's avatar
      tipc: fix bug in link protocol message create function · f3903bcc
      Jon Paul Maloy authored
      In commit dd3f9e70
      ("tipc: add packet sequence number at instant of transmission") we
      made a change with the consequence that packets in the link backlog
      queue don't contain valid sequence numbers.
      
      However, when we create a link protocol message, we still use the
      sequence number of the first packet in the backlog, if there is any,
      as "next_sent" indicator in the message. This may entail unnecessary
      retransissions or stale packet transmission when there is very low
      traffic on the link.
      
      This commit fixes this issue by only using the current value of
      tipc_link::snd_nxt as indicator.
      Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f3903bcc
    • Eric Dumazet's avatar
      net: fix inet_proto_csum_replace4() sparse errors · 05c98543
      Eric Dumazet authored
      make C=2 CF=-D__CHECK_ENDIAN__ net/core/utils.o
      ...
      net/core/utils.c:307:72: warning: incorrect type in argument 2 (different base types)
      net/core/utils.c:307:72:    expected restricted __wsum [usertype] addend
      net/core/utils.c:307:72:    got restricted __be32 [usertype] from
      net/core/utils.c:308:34: warning: incorrect type in argument 2 (different base types)
      net/core/utils.c:308:34:    expected restricted __wsum [usertype] addend
      net/core/utils.c:308:34:    got restricted __be32 [usertype] to
      net/core/utils.c:310:70: warning: incorrect type in argument 2 (different base types)
      net/core/utils.c:310:70:    expected restricted __wsum [usertype] addend
      net/core/utils.c:310:70:    got restricted __be32 [usertype] from
      net/core/utils.c:310:77: warning: incorrect type in argument 2 (different base types)
      net/core/utils.c:310:77:    expected restricted __wsum [usertype] addend
      net/core/utils.c:310:77:    got restricted __be32 [usertype] to
      net/core/utils.c:312:72: warning: incorrect type in argument 2 (different base types)
      net/core/utils.c:312:72:    expected restricted __wsum [usertype] addend
      net/core/utils.c:312:72:    got restricted __be32 [usertype] from
      net/core/utils.c:313:35: warning: incorrect type in argument 2 (different base types)
      net/core/utils.c:313:35:    expected restricted __wsum [usertype] addend
      net/core/utils.c:313:35:    got restricted __be32 [usertype] to
      
      Note we can use csum_replace4() helper
      
      Fixes: 58e3cac5 ("net: optimise inet_proto_csum_replace4()")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      05c98543
    • Eric Dumazet's avatar
      net: remove a sparse error in secure_dccpv6_sequence_number() · 68319052
      Eric Dumazet authored
      make C=2 CF=-D__CHECK_ENDIAN__ net/core/secure_seq.o
      net/core/secure_seq.c:157:50: warning: restricted __be32 degrades to
      integer
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      68319052
    • Wilson Kok's avatar
      bridge: skip fdb add if the port shouldn't learn · eb8d7baa
      Wilson Kok authored
      Check in fdb_add_entry() if the source port should learn, similar
      check is used in br_fdb_update.
      Note that new fdb entries which are added manually or
      as local ones are still permitted.
      This patch has been tested by running traffic via a bridge port and
      switching the port's state, also by manually adding/removing entries
      from the bridge's fdb.
      Signed-off-by: default avatarWilson Kok <wkok@cumulusnetworks.com>
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eb8d7baa
    • Eric Dumazet's avatar
      pktgen: remove one sparse error · d4969581
      Eric Dumazet authored
      net/core/pktgen.c:2672:43: warning: incorrect type in assignment (different base types)
      net/core/pktgen.c:2672:43:    expected unsigned short [unsigned] [short] [usertype] <noident>
      net/core/pktgen.c:2672:43:    got restricted __be16 [usertype] protocol
      
      Let's use proper struct ethhdr instead of hard coding everything.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d4969581
    • Eric Dumazet's avatar
      ipv6: ipv6_select_ident() returns a __be32 · 7f159867
      Eric Dumazet authored
      ipv6_select_ident() returns a 32bit value in network order.
      
      Fixes: 286c2349 ("ipv6: Clean up ipv6_select_ident() and ip6_fragment()")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Acked-by: default avatarMartin KaFai Lau <kafai@fb.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7f159867
  3. 25 May, 2015 31 commits