Eric Dumazet
63c6f81cdd
udp: ipv4: do not waste time in __udp4_lib_mcast_demux_lookup
...
Its too easy to add thousand of UDP sockets on a particular bucket,
and slow down an innocent multicast receiver.
Early demux is supposed to be an optimization, we should avoid spending
too much time in it.
It is interesting to note __udp4_lib_demux_lookup() only tries to
match first socket in the chain.
10 is the threshold we already have in __udp4_lib_lookup() to switch
to secondary hash.
Fixes: 421b3885bf ("udp: ipv4: Add udp early demux")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: David Held <drheld@google.com>
Cc: Shawn Bohrer <sbohrer@rgmadvisors.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-13 15:39:24 -07:00
..
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
2014-05-30 17:54:47 -07:00
af_inet.c
gre: Call gso_make_checksum
2014-06-04 22:46:38 -07:00
ah4.c
ah4: Use the IPsec protocol multiplexer API
2014-02-25 07:04:17 +01:00
arp.c
ipv4: arp: update neighbour address when a gratuitous arp is received and arp_accept is set
2014-01-02 00:08:38 -05:00
cipso_ipv4.c
ipv4: ERROR: code indent should use tabs where possible
2013-12-26 13:43:21 -05:00
datagram.c
ipv4: fix a race in ip4_datagram_release_cb()
2014-06-11 15:39:18 -07:00
devinet.c
ipv4: minor spelling fix
2014-05-18 21:10:29 -04:00
esp4.c
esp4: Use the IPsec protocol multiplexer API
2014-02-25 07:04:17 +01:00
fib_frontend.c
ipv4, fib: pass LOOPBACK_IFINDEX instead of 0 to flowi4_iif
2014-04-16 15:05:11 -04:00
fib_lookup.h
ipv4: make fib_detect_death static
2013-12-28 17:01:46 -05:00
fib_rules.c
inet: fix NULL pointer Oops in fib(6)_rule_suppress
2013-12-10 17:54:23 -05:00
fib_semantics.c
ipv4: fib_semantics: increment fib_info_cnt after fib_info allocation
2014-05-07 17:14:32 -04:00
fib_trie.c
net: Revert "fib_trie: use seq_file_net rather than seq->private"
2014-06-04 15:11:41 -07:00
gre_demux.c
gre: Call gso_make_checksum
2014-06-04 22:46:38 -07:00
gre_offload.c
net: Save software checksum complete
2014-06-11 15:46:13 -07:00
icmp.c
net: add a sysctl to reflect the fwmark on replies
2014-05-13 18:35:08 -04:00
igmp.c
inetpeer: get rid of ip_id_count
2014-06-02 11:00:41 -07:00
inet_connection_sock.c
ipv4: make ip_local_reserved_ports per netns
2014-05-14 15:31:45 -04:00
inet_diag.c
inet_diag: fix inet_diag_dump_icsk() to use correct state for timewait sockets
2014-01-13 22:35:46 -08:00
inet_fragment.c
inet: frag: make sure forced eviction removes all frags
2014-03-06 15:28:45 -05:00
inet_hashtables.c
net: Use a more standard macro for INET_ADDR_COOKIE
2014-05-14 16:07:23 -04:00
inet_lro.c
lro: remove dead code
2013-12-29 16:34:25 -05:00
inet_timewait_sock.c
inetpeer.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2014-06-12 14:27:40 -07:00
ip_forward.c
net: rename local_df to ignore_df
2014-05-12 14:03:41 -04:00
ip_fragment.c
ipv4: fix "conntrack zones" support for defrag user check in ip_expire
2014-05-05 16:02:59 +02:00
ip_gre.c
gre: allow changing mac address when device is up
2014-06-10 22:46:42 -07:00
ip_input.c
net: Fix memory leak if TPROXY used with TCP early demux
2014-01-27 16:22:11 -08:00
ip_options.c
ipv4: Use predefined value for readability
2014-04-28 13:28:43 -04:00
ip_output.c
inetpeer: get rid of ip_id_count
2014-06-02 11:00:41 -07:00
ip_sockglue.c
ipv4: yet another new IP_MTU_DISCOVER option IP_PMTUDISC_OMIT
2014-02-26 15:51:00 -05:00
ip_tunnel.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2014-06-11 16:02:55 -07:00
ip_tunnel_core.c
net: Support for multiple checksums with gso
2014-06-04 22:46:38 -07:00
ip_vti.c
ip_vti: Fix 'ip tunnel add' with 'key' parameters
2014-06-11 00:30:52 -07:00
ipcomp.c
ipcomp4: Use the IPsec protocol multiplexer API
2014-02-25 07:04:17 +01:00
ipconfig.c
ipv4: ipconfig.c: add parentheses in an if statement
2014-02-14 00:14:23 -05:00
ipip.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2014-06-11 16:02:55 -07:00
ipmr.c
inetpeer: get rid of ip_id_count
2014-06-02 11:00:41 -07:00
Kconfig
Makefile
xfrm4: Add IPsec protocol multiplexer
2014-02-25 07:04:16 +01:00
netfilter.c
netfilter: remove double colon
2014-02-19 11:41:25 +01:00
ping.c
ping: move ping_group_range out of CONFIG_SYSCTL
2014-05-08 22:50:47 -04:00
proc.c
net: clean up snmp stats code
2014-05-07 16:06:05 -04:00
protocol.c
raw.c
inetpeer: get rid of ip_id_count
2014-06-02 11:00:41 -07:00
route.c
inetpeer: get rid of ip_id_count
2014-06-02 11:00:41 -07:00
syncookies.c
net: support marking accepting TCP sockets
2014-05-13 18:35:09 -04:00
sysctl_net_ipv4.c
ipv4: make ip_local_reserved_ports per netns
2014-05-14 15:31:45 -04:00
tcp.c
tcp: Add a TCP_FASTOPEN socket option to get a max backlog on its listner
2014-04-20 18:18:54 -04:00
tcp_bic.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_cong.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_cubic.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2014-05-12 13:19:14 -04:00
tcp_diag.c
tcp_fastopen.c
tcp: IPv6 support for fastopen server
2014-05-13 17:53:03 -04:00
tcp_highspeed.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_htcp.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_hybla.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_illinois.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_input.c
tcp: add gfp parameter to tcp_fragment
2014-06-10 22:30:58 -07:00
tcp_ipv4.c
net: support marking accepting TCP sockets
2014-05-13 18:35:09 -04:00
tcp_lp.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_memcontrol.c
cgroup: replace cftype->trigger() with cftype->write()
2014-05-13 12:16:21 -04:00
tcp_metrics.c
net: use the new API kvfree()
2014-06-05 00:49:51 -07:00
tcp_minisocks.c
tcp: use tcp_v4_send_synack on first SYN-ACK
2014-05-13 17:53:02 -04:00
tcp_offload.c
gre: Call gso_make_checksum
2014-06-04 22:46:38 -07:00
tcp_output.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2014-06-12 14:27:40 -07:00
tcp_probe.c
tcp: switch rtt estimations to usec resolution
2014-02-26 17:08:40 -05:00
tcp_scalable.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_timer.c
tcp: snmp stats for Fast Open, SYN rtx, and data pkts
2014-03-03 15:58:03 -05:00
tcp_vegas.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_vegas.h
tcp_veno.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tcp_westwood.c
tcp: remove unused min_cwnd member of tcp_congestion_ops
2014-02-13 18:22:34 -05:00
tcp_yeah.c
tcp: remove in_flight parameter from cong_avoid() methods
2014-05-03 19:23:07 -04:00
tunnel4.c
udp.c
udp: ipv4: do not waste time in __udp4_lib_mcast_demux_lookup
2014-06-13 15:39:24 -07:00
udp_diag.c
udp_impl.h
udp_offload.c
net: Add skb_gro_postpull_rcsum to udp and vxlan
2014-06-11 15:46:13 -07:00
udplite.c
net: Eliminate no_check from protosw
2014-05-23 16:28:53 -04:00
xfrm4_input.c
xfrm4: Add IPsec protocol multiplexer
2014-02-25 07:04:16 +01:00
xfrm4_mode_beet.c
ipv4: ERROR: code indent should use tabs where possible
2013-12-26 13:43:21 -05:00
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
inetpeer: get rid of ip_id_count
2014-06-02 11:00:41 -07:00
xfrm4_output.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2014-05-24 00:32:30 -04:00
xfrm4_policy.c
xfrm: Introduce xfrm_input_afinfo to access the the callbacks properly
2014-03-14 07:28:07 +01:00
xfrm4_protocol.c
xfrm4: Properly handle unsupported protocols
2014-04-29 08:41:12 +02:00
xfrm4_state.c
inet: make no_pmtu_disc per namespace and kill ipv4_config
2013-12-18 16:58:20 -05:00
xfrm4_tunnel.c