Stephen Hemminger
e802af9cab
IPv6: Generic TTL Security Mechanism (final version)
...
This patch adds IPv6 support for RFC5082 Generalized TTL Security Mechanism.
Not to users of mapped address; the IPV6 and IPV4 socket options are seperate.
The server does have to deal with both IPv4 and IPv6 socket options
and the client has to handle the different for each family.
On client:
int ttl = 255;
getaddrinfo(argv[1], argv[2], &hint, &result);
for (rp = result; rp != NULL; rp = rp->ai_next) {
s = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
if (s < 0) continue;
if (rp->ai_family == AF_INET) {
setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));
} else if (rp->ai_family == AF_INET6) {
setsockopt(s, IPPROTO_IPV6, IPV6_UNICAST_HOPS,
&ttl, sizeof(ttl)))
}
if (connect(s, rp->ai_addr, rp->ai_addrlen) == 0) {
...
On server:
int minttl = 255 - maxhops;
getaddrinfo(NULL, port, &hints, &result);
for (rp = result; rp != NULL; rp = rp->ai_next) {
s = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
if (s < 0) continue;
if (rp->ai_family == AF_INET6)
setsockopt(s, IPPROTO_IPV6, IPV6_MINHOPCOUNT,
&minttl, sizeof(minttl));
setsockopt(s, IPPROTO_IP, IP_MINTTL, &minttl, sizeof(minttl));
if (bind(s, rp->ai_addr, rp->ai_addrlen) == 0)
break
...
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-04-22 15:24:53 -07:00
..
netfilter
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
addrconf.c
net: Fix various endianness glitches
2010-04-20 19:06:52 -07:00
addrconf_core.c
ipv6: Remove IPV6_ADDR_RESERVED
2010-02-26 03:59:07 -08:00
addrlabel.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
af_inet6.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ah6.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
anycast.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
datagram.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
esp6.c
xfrm: SA lookups signature with mark
2010-02-22 16:20:22 -08:00
exthdrs.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
exthdrs_core.c
fib6_rules.c
net: fib_rules: decouple address families from real address families
2010-04-13 14:49:31 -07:00
icmp.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
inet6_connection_sock.c
net: replace ipfragok with skb->local_df
2010-04-15 23:36:37 -07:00
inet6_hashtables.c
tcp: Fix a connect() race with timewait sockets
2009-12-08 20:17:51 -08:00
ip6_fib.c
net: Fix various endianness glitches
2010-04-20 19:06:52 -07:00
ip6_flowlabel.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ip6_input.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ip6_output.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-21 01:14:25 -07:00
ip6_tunnel.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ip6mr.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ipcomp6.c
xfrm: SA lookups signature with mark
2010-02-22 16:20:22 -08:00
ipv6_sockglue.c
IPv6: Generic TTL Security Mechanism (final version)
2010-04-22 15:24:53 -07:00
Kconfig
IPv6: Fix 6RD typo
2009-10-07 14:50:30 -07:00
Makefile
mcast.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
mip6.c
ipv6: drop unused "dev" arg of icmpv6_send()
2010-02-18 14:30:17 -08:00
ndisc.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
netfilter.c
net: skb->dst accessors
2009-06-03 02:51:04 -07:00
proc.c
icmp: Account for ICMP out errors
2010-04-03 15:09:04 -07:00
protocol.c
net: constify struct inet6_protocol
2009-09-14 17:03:05 -07:00
raw.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
reassembly.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
route.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
sit.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
syncookies.c
net: Add rtnetlink init_rcvwnd to set the TCP initial receive window
2009-12-23 14:13:30 -08:00
sysctl_net_ipv6.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
tcp_ipv6.c
IPv6: Generic TTL Security Mechanism (final version)
2010-04-22 15:24:53 -07:00
tunnel6.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
udp.c
net: Fix various endianness glitches
2010-04-20 19:06:52 -07:00
udp_impl.h
net: Make setsockopt() optlen be unsigned.
2009-09-30 16:12:20 -07:00
udplite.c
net: spread __net_init, __net_exit
2010-01-17 19:16:02 -08:00
xfrm6_input.c
xfrm: SA lookups signature with mark
2010-02-22 16:20:22 -08:00
xfrm6_mode_beet.c
ipsec: Interfamily IPSec BEET, ipv4-inner ipv6-outer
2008-08-06 02:40:25 -07:00
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
xfrm6_output.c
ipv6: drop unused "dev" arg of icmpv6_send()
2010-02-18 14:30:17 -08:00
xfrm6_policy.c
xfrm: cache bundles instead of policies for outgoing flows
2010-04-07 03:43:19 -07:00
xfrm6_state.c
ipv6: fix sparse warning: Using plain integer as NULL pointer
2009-02-21 23:37:10 -08:00
xfrm6_tunnel.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00