Mailinglist Archive: opensuse (3349 mails)

< Previous Next >
Re: [SLE] Re: IPv6 & SuSE 9.2
  • From: James Wright <jwright@xxxxxxxxxxxxxxxxxxxxx>
  • Date: Fri, 06 May 2005 16:23:27 -0400
  • Message-id: <427BD23F.3010102@xxxxxxxxxxxxxxxxxxxxx>

James Knott wrote:

George Barnett wrote:

James Wright wrote:

To see if it is your switch that is causing the problems, you can try using a crossover cable to directly connect two of the computers directly, and see if you can establish some communication. If you can, it is probably your switch. If it is your switch, you can try to find a firmware upgrade that allows IPv6. Or put a second network card in each computer and forget the switch, but using a switch would be much easier to manage.

A switch is a layer 2 device, unless it's capable of routing, which is unlikely in this case. All the switch cares is that a 1500byte packet comes in and is switched to a destination port based on the MAC. It doesn't care if it's IP or IPX or Appletalk or whatever.

Check the arp tables on the boxes and check the subnet masks on the boxes.

As I have mentioned, the ping is being received. The problem is that there's no reply. Given that the ping attempt is seen at the destination, rules out network problems.

The situation is as follows

Computer A can ping itself and get response.
Computer B can ping itself and get response.
Computer A can ping B. Ethereal, running on B, shows "Neighbor Solicitation" from A, but does not show any response. Computer A shows "From ::1 icmp_seq=6 Destination unreachable: Address unreachable"

A good ping of a computer to itself shows:

jknott@linux:~> ping6 -I eth0 fe80::205:5dff:fef6:4ce
PING fe80::205:5dff:fef6:4ce(fe80::205:5dff:fef6:4ce) from ::1 eth0: 56 data bytes
64 bytes from fe80::205:5dff:fef6:4ce: icmp_seq=1 ttl=64 time=0.046 ms
64 bytes from fe80::205:5dff:fef6:4ce: icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from fe80::205:5dff:fef6:4ce: icmp_seq=3 ttl=64 time=0.053 ms
64 bytes from fe80::205:5dff:fef6:4ce: icmp_seq=4 ttl=64 time=0.050 ms

Incidentally, "Neighbor Solicitation" is the IPv6 version of arp request. So, the problem appears to be that the remote system is not responding to the IPv6 version of an arp request.

First I apologize for my ignorance about switches. Secondly, here is a troubleshooting list for IPv6 from

that was linked from

I hope this helps.

Testing & network Troubleshooting

* Make a reboot
* Look for correct interface configuration:
o ifconfig
o Here you should see IPv6 addresses, too.
+ If not, perhaps you compiled /IPv6/ as module, so do
not forget to
# Test: lsmod | grep -i ipvg
# edit your /etc/conf.modules (or /etc/modules.conf)
* Add a line: alias net-pf-10 ipv6
# Load module immediately: modprobe ipv6
+ If module is loaded and no IPv6 addresses are
displayed (the link local address must be shown
without any configuration!):
# Perhaps your used set of net-tools is not the
one you've compiled for using with IPv6 (perhaps
you forgot a "make install"...)
* Look for correct IPv6 routing tables:
o route -A inet6
o If you get an error, you're using the old only IPv4 ready
net-tools set, see ifconfig section for details
* Test primitive socket operation (if ping6 has SUID bit not set,
you can only use it as root):
o Loopback address:
+ ping6 */::1/*
o Link local address:
+ e.g.: ping6 fe80::2e0:18ff:fe90:9205
+ On 2.4.x kernels, you will mostly get an error message
like "/connect: Invalid argument/". In this case you
have to specify the interface, too, like:
# ping6 *-I eth0* fe80::2e0:18ff:fe90:9205
o Other addresses:
+ ping6 */your-ip6-address/*
* If you have problems, look at your interfaces:
o tcpdump -i {interface} -t -e

Now you can see the link-layer addresses, packet types
{ipv6|ip|arp}and {host addresses | resolved hostnames}
If tcpdump won't work and you compiled /Paket Socket/ as
module, do not forget to
+ Edit your /etc/conf.modules
Add a line: alias net-pf-17 af_packet Load module immediately: modprobe af_packet
+ o For decoding all of the IPv6 information contained in an
IPv6 packet (e.g. autoconfiguration packets), you can also use
+ tcpdump [-i interface] -vv -s 512
* If you have created IPv6 DNS files you can query the information
with: nslookup
>set querytype=ANY
*/>hostname/* Using BIND9 (client utilities), you can also use
o host -n /IPv6-address/ for reverse lookup tests
* If name resolution works (by DNS or /etc/hosts) you can test this
for IPv4:
o ping */your-hostname/*
* And now for IPv6:
o ping6 -n */your-hostname/*
* Start the /Router ADVertisement Daemon/ on one host and look at
the others with radvdump for incoming /router advertisements/
* Try now some external addresses:

*Protocol / Application* *Full Qualified Domain Name (FQDN)*
FTP, traceroute, ping

< Previous Next >
Follow Ups