linux_old1/net/l2tp
Eric Dumazet 447167bf56 udp: intoduce udp_encap_needed static_key
Most machines dont use UDP encapsulation (L2TP)

Adds a static_key so that udp_queue_rcv_skb() doesnt have to perform a
test if L2TP never setup the encap_rcv on a socket.

Idea of this patch came after Simon Horman proposal to add a hook on TCP
as well.

If static_key is not yet enabled, the fast path does a single JMP .

When static_key is enabled, JMP destination is patched to reach the real
encap_type/encap_rcv logic, possibly adding cache misses.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Simon Horman <horms@verge.net.au>
Cc: dev@openvswitch.org
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-04-13 13:39:37 -04:00
..
Kconfig l2tp: Add debugfs files for dumping l2tp debug info 2010-04-03 14:56:07 -07:00
Makefile l2tp: Add debugfs files for dumping l2tp debug info 2010-04-03 14:56:07 -07:00
l2tp_core.c udp: intoduce udp_encap_needed static_key 2012-04-13 13:39:37 -04:00
l2tp_core.h l2tp: make local function static 2010-10-24 14:55:47 -07:00
l2tp_debugfs.c fix return values of l2tp_dfs_seq_open() 2011-06-05 14:11:09 -07:00
l2tp_eth.c net: replace random_ether_addr() with eth_hw_addr_random() 2012-02-15 15:34:16 -05:00
l2tp_ip.c l2tp: don't overwrite source address in l2tp_ip_bind() 2012-04-13 11:01:44 -04:00
l2tp_netlink.c l2tp: Stop using NLA_PUT*(). 2012-04-02 04:33:41 -04:00
l2tp_ppp.c l2tp: enable automatic module loading for l2tp_ppp 2012-03-21 22:14:56 -04:00