aboutsummaryrefslogtreecommitdiff
path: root/net/ipv6
AgeCommit message (Collapse)AuthorFilesLines
2008-04-16[SIT]: Make tunnels hashes per-net.Pavel Emelyanov1-20/+25
Just move all the hashes on the sit_net structure and patch the rest of the code appropriately. Signed-off-by: Pavel Emelyanov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-16[SIT]: Make the fallback tunnel device per-netPavel Emelyanov1-32/+29
Allocate and register one in sit_init_net, use sitn->fb_tunnel_dev over the code and unregister one in sit_exit_net. Signed-off-by: Pavel Emelyanov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-16[SIT]: Use proper net in hash-lookup functions.Pavel Emelyanov1-2/+2
Replace introduced in the previous patch init_net stubs with the proper net pointer. Signed-off-by: Pavel Emelyanov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-16[SIT]: Add net/sit_net argument to some functions.Pavel Emelyanov1-19/+30
... to make them prepared for future hashes and fallback device move on the struct sit_net. Signed-off-by: Pavel Emelyanov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-16[SIT]: Introduce empty struct sit_net and init/exit net ops.Pavel Emelyanov1-0/+50
Signed-off-by: Pavel Emelyanov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-14Merge branch 'master' of ↵David S. Miller12-56/+91
git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.26
2008-04-14[SOCK]: Add some notes about per-bind-bucket sock lookup.Pavel Emelyanov1-0/+4
I was asked about "why don't we perform a sk_net filtering in bind_conflict calls, like we do in other sock lookup places" for a couple of times. Can we please add a comment about why we do not need one? Signed-off-by: Pavel Emelyanov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-14Merge branch 'master' of ↵David S. Miller3-32/+30
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ehea/ehea_main.c drivers/net/wireless/iwlwifi/Kconfig drivers/net/wireless/rt2x00/rt61pci.c net/ipv4/inet_timewait_sock.c net/ipv6/raw.c net/mac80211/ieee80211_sta.c
2008-04-14[NETFILTER]: nf_conntrack: replace NF_CT_DUMP_TUPLE macro indrection by ↵Jan Engelhardt1-1/+1
function call Directly call IPv4 and IPv6 variants where the address family is easily known. Signed-off-by: Jan Engelhardt <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2008-04-14[NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l4protoJan Engelhardt1-14/+13
Signed-off-by: Jan Engelhardt <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2008-04-14[NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l3protoJan Engelhardt1-7/+7
Signed-off-by: Jan Engelhardt <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2008-04-14[NETFILTER]: Add partial checksum validation helperPatrick McHardy1-7/+35
Move the UDP-Lite conntrack checksum validation to a generic helper similar to nf_checksum() and make it fall back to nf_checksum() in case the full packet is to be checksummed and hardware checksums are available. This is to be used by DCCP conntrack, which also needs to verify partial checksums. Signed-off-by: Patrick McHardy <[email protected]>
2008-04-14[NETFILTER]: {ip,ip6,arp}_tables: return EAGAIN for invalid SO_GET_ENTRIES sizePatrick McHardy1-2/+2
Rule dumping is performed in two steps: first userspace gets the ruleset size using getsockopt(SO_GET_INFO) and allocates memory, then it calls getsockopt(SO_GET_ENTRIES) to actually dump the ruleset. When another process changes the ruleset in between the sizes from the first getsockopt call doesn't match anymore and the kernel aborts. Unfortunately it returns EAGAIN, as for multiple other possible errors, so userspace can't distinguish this case from real errors. Return EAGAIN so userspace can retry the operation. Fixes (with current iptables SVN version) netfilter bugzilla #104. Signed-off-by: Patrick McHardy <[email protected]>
2008-04-14[NETFILTER]: annotate rest of nf_conntrack_* with constJan Engelhardt1-4/+4
Signed-off-by: Jan Engelhardt <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2008-04-14[NETFILTER]: annotate {arp,ip,ip6,x}tables with constJan Engelhardt1-14/+15
Signed-off-by: Jan Engelhardt <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2008-04-14[NETFILTER]: annotate xtables targets with const and remove castsJan Engelhardt3-3/+6
Signed-off-by: Jan Engelhardt <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2008-04-14[NETFILTER]: Use non-deprecated __RW_LOCK_UNLOCKED macroRobert P. J. Day3-3/+3
Signed-off-by: Robert P. J. Day <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2008-04-14[NETFILTER]: {ip,ip6}t_LOG: print MARK value in log outputPatrick McHardy1-1/+5
Dump the mark value in log messages similar to nfnetlink_log. This is useful for debugging complex setups where marks are used for routing or traffic classification. Signed-off-by: Patrick McHardy <[email protected]>
2008-04-13[IPV6] MROUTE: Add stats in multicast routing module method ip6_mr_forward().Rami Rosen1-1/+1
This patches adds a call to increment IPSTATS_MIB_OUTFORWDATAGRAMS when forwarding the packet in ip6_mr_forward() in the IPv6 multicast routing module (net/ipv6/ip6mr.c). Signed-off-by: Rami Rosen <[email protected]> Signed-off-by: YOSHIFUJI Hideaki <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-13[IPV6] ADDRCONF: Don't generate temporary address for ip6-ip6 interface.YOSHIFUJI Hideaki1-2/+1
As far as I can remember, I was going to disable privacy extensions on all "tunnel" interfaces. Disable it on ip6-ip6 interface as well. Also, just remove ifdefs for SIT for simplicity. Signed-off-by: YOSHIFUJI Hideaki <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-13[IPV6] ADDRCONF: Ensure disabling multicast RS even if privacy extensions ↵YOSHIFUJI Hideaki1-7/+9
are disabled. Signed-off-by: YOSHIFUJI Hideaki <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-13[NET]: Sink IPv6 menuoptions into its own submenuJan Engelhardt1-15/+8
Signed-off-by: Jan Engelhardt <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-13[IPV6]: Share common code-paths for sticky socket options.YOSHIFUJI Hideaki1-39/+25
Signed-off-by: YOSHIFUJI Hideaki <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-13[IPV6] MROUTE: Do not call ipv6_find_idev() directly.YOSHIFUJI Hideaki2-6/+1
Since NETDEV_REGISTER notifier chain is responsible for creating inet6_dev{}, we do not need to call ipv6_find_idev() directly here. Signed-off-by: YOSHIFUJI Hideaki <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-13[IPV6]: Fix ipv6 address fetching in raw6_icmp_error().David S. Miller1-2/+4
Fixes kernel bugzilla 10437 Based almost entirely upon a patch by Dmitry Butskoy. When deciding what raw sockets to deliver the ICMPv6 to, we should use the addresses in the ICMPv6 quoted IPV6 header, not the top-level one. Signed-off-by: David S. Miller <[email protected]>
2008-04-13[TCP]: Remove owner from tcp_seq_afinfo.Denis V. Lunev1-1/+3
Move it to tcp_seq_afinfo->seq_fops as should be. Signed-off-by: Denis V. Lunev <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-13[TCP]: Place file operations directly into tcp_seq_afinfo.Denis V. Lunev1-2/+0
No need to have separate never-used variable. Signed-off-by: Denis V. Lunev <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-13[TCP]: Move seq_ops from tcp_iter_state to tcp_seq_afinfo.Denis V. Lunev1-1/+3
No need to create seq_operations for each instance of 'netstat'. Signed-off-by: Denis V. Lunev <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-12[IPV6]: Fix IPV6_RECVERR for connected raw sockets.YOSHIFUJI Hideaki1-2/+4
Based on patch from Dmitry Butskoy <[email protected]>. Closes: 10437 Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPv6]: Change IPv6 unspecified destination address to ::1 for raw and ↵Brian Haley2-11/+8
un-connected sockets This patch fixes a difference between IPv4 and IPv6 when sending packets to the unspecified address (either 0.0.0.0 or ::) when using raw or un-connected UDP sockets. There are two cases where IPv6 either fails to send anything, or sends with the destination address set to ::. For example: --> ping -c1 0.0.0.0 PING 0.0.0.0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.032 ms --> ping6 -c1 :: PING ::(::) 56 data bytes ping: sendmsg: Invalid argument Doing a sendto("0.0.0.0") reveals: 10:55:01.495090 IP localhost.32780 > localhost.7639: UDP, length 100 Doing a sendto("::") reveals: 10:56:13.262478 IP6 fe80::217:8ff:fe7d:4718.32779 > ::.7639: UDP, length 100 If you issue a connect() first in the UDP case, it will be sent to ::1, similar to what happens with TCP. This restores the BSD-ism. Signed-off-by: Brian Haley <[email protected]> Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPV6] MROUTE: Adjust IPV6 multicast routing module to use mroute6 header ↵Rami Rosen1-22/+13
declarations. - This patch adjusts IPv6 multicast routing module, net/ipv6/ip6mr.c, to use mroute6 header definitions instead of mroute. (MFC6_LINES instead of MFC_LINES, MAXMIFS instead of MAXVIFS, mifi_t instead of vifi_t.) - In addition, inclusion of some headers was removed as it is not needed. Signed-off-by: Rami Rosen <[email protected]> Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPV6]: Check length of int/boolean optval provided by user in setsockopt().YOSHIFUJI Hideaki1-7/+61
Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPV6]: Check length of optval provided by user in setsockopt().Wang Chen1-2/+8
Check length of setsockopt's optval, which provided by user, before copy it from user space. For POSIX compliant, return -EINVAL for setsockopt of short lengths. Signed-off-by: Wang Chen <[email protected]> Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPV6] MIP6: Use our standard definitions for paddings.YOSHIFUJI Hideaki1-2/+2
MIP6_OPT_PAD_X are actually for paddings in destination option header. Replace them with our standard IPV6_TLV_PADX. Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPV6]: Use in6addr_any where appropriate.YOSHIFUJI Hideaki2-11/+12
Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPV6]: Define constants for link-local multicast addresses.YOSHIFUJI Hideaki3-37/+16
- Define link-local all-node / all-router multicast addresses. - Remove ipv6_addr_all_nodes() and ipv6_addr_all_routers(). Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPV6]: Make address arguments const.YOSHIFUJI Hideaki5-28/+28
- net/ipv6/addrconf.c: ipv6_get_ifaddr(), ipv6_dev_get_saddr() - net/ipv6/mcast.c: ipv6_sock_mc_join(), ipv6_sock_mc_drop(), inet6_mc_check(), ipv6_dev_mc_inc(), __ipv6_dev_mc_dec(), ipv6_dev_mc_dec(), ipv6_chk_mcast_addr() - net/ipv6/route.c: rt6_lookup(), icmp6_dst_alloc() - net/ipv6/ip6_output.c: ip6_nd_hdr() - net/ipv6/ndisc.c: ndisc_send_ns(), ndisc_send_rs(), ndisc_send_redirect(), ndisc_get_neigh(), __ndisc_send() Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPV6] ADDRCONF: Uninline ipv6_isatap_eui64().YOSHIFUJI Hideaki1-2/+24
Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-12[IPV6] ADDRCONF: Uninline ipv6_addr_hash().YOSHIFUJI Hideaki1-0/+19
The function is only used in net/ipv6/addrconf.c. Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-11[IPV6]: Use ipv6_addr_equal() instead of !ipv6_addr_cmp().YOSHIFUJI Hideaki2-3/+3
Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-11[IPV6] FIB_RULE: Sparse: fib6_rules_cleanup() is of void.YOSHIFUJI Hideaki1-1/+1
| net/ipv6/fib6_rules.c:319:2: warning: returning void-valued expression Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-11[IPV6]: Sparse: Reuse previous delaration where appropriate.YOSHIFUJI Hideaki2-4/+1
| net/ipv6/ipv6_sockglue.c:162:16: warning: symbol 'net' shadows an earlier one | net/ipv6/ipv6_sockglue.c:111:13: originally declared here | net/ipv6/ipv6_sockglue.c:175:16: warning: symbol 'net' shadows an earlier one | net/ipv6/ipv6_sockglue.c:111:13: originally declared here | net/ipv6/ip6mr.c:1241:10: warning: symbol 'ret' shadows an earlier one | net/ipv6/ip6mr.c:1163:6: originally declared here Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-11[IPV6] SIT: Sparse: Use NULL pointer instead of 0.YOSHIFUJI Hideaki1-1/+1
| net/ipv6/sit.c:382:42: warning: Using plain integer as NULL pointer Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-11[IPV6]: Kill several warnings without CONFIG_IPV6_MROUTE.YOSHIFUJI Hideaki1-14/+12
Pointed out by Andrew Morton <[email protected]>. Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-10[Syncookies]: Add support for TCP options via timestamps.Florian Westphal2-7/+18
Allow the use of SACK and window scaling when syncookies are used and the client supports tcp timestamps. Options are encoded into the timestamp sent in the syn-ack and restored from the timestamp echo when the ack is received. Based on earlier work by Glenn Griffin. This patch avoids increasing the size of structs by encoding TCP options into the least significant bits of the timestamp and by not using any 'timestamp offset'. The downside is that the timestamp sent in the packet after the synack will increase by several seconds. changes since v1: don't duplicate timestamp echo decoding function, put it into ipv4/syncookie.c and have ipv6/syncookies.c use it. Feedback from Glenn Griffin: fix line indented with spaces, kill redundant if () Reviewed-by: Hagen Paul Pfeifer <[email protected]> Signed-off-by: Florian Westphal <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-04-08Merge branch 'net-2.6.26-isatap-20080403' of ↵David S. Miller6-71/+284
git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev
2008-04-05[IPV6] MROUTE: Use skb_tail_pointer(skb) instead of skb->tail.YOSHIFUJI Hideaki1-3/+3
This bug resulted in compilation error on 64bit machines. Pointed out by Rami Rosen <[email protected]>. Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-05[IPV6] MROUTE: Support PIM-SM (SSM).YOSHIFUJI Hideaki2-1/+281
Based on ancient patch by Mickael Hoerdt <[email protected]>, which is available at <http://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a>. Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-05[IPV6] MROUTE: Support multicast forwarding.YOSHIFUJI Hideaki10-30/+1521
Based on ancient patch by Mickael Hoerdt <[email protected]>, which is available at <http://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a>. Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
2008-04-04[IPV6] ADDRCONF: Fix array size for sysctls.YOSHIFUJI Hideaki1-1/+1
We have been using __NET_IPV6_MAX for adjusting the size of array for sysctl table, but it does not work any longer because of the deprecation of NET_IPV6_xxx constants. Let's use DEVCONF_MAX instead. Signed-off-by: YOSHIFUJI Hideaki <[email protected]>