Configuring gt64 elements...
Juan Luis Baptiste M.
jbaptiste at merlinux.org
Wed Oct 24 12:09:14 EDT 2001
Hi,
After successfully installed click with the help of Eddie, we have started doing
tests with gt64 (IPv6/IPv4 translator elements), but click is crashing (seg.
fault). Our setup are three machines:
gt64: the translator, with ipv4 address 172.25.79.156 and ipv6 address
3ffe:1ce1:2:0:200::1
ipv4: ipv4 node, with 172.25.79.152 address
ipv6: ipv6 node with 3ffe:1ce1:2:0:200::2 address
We followed all the instructions to create the routes to the translator in both
machines, but when from ipv4 we ping 1.0.0.1 we get this error in gt64:
[root at gt64 userlevel]# ./click ../conf/gt642.click
after-pt460: 104 | 60000000 00403a81 00000000 00000000 00000000 ac194f98
00000000 00000000 00000000 01000001 8000347f a5040000 ade3d13b 332c0c00
08090a0b
0c0d0e0f 10111213 14151617 18191a1b 1c1d1e1f 20212223 24252627 28292a2b
2c2d2e2f
30313233 34353637
Segmentation fault (core dumped)
I was thinking that the error could be with the patterns in the classifier
element, but not sure. I don't know if this patters are standar or I have to
change them according to the addresses I'm using. Also, I don't understand how
to calculate this offsets and values for the patterns.
>From ipv6 machine appears:
[root at ipv6 /root]# ping6 -I eth0 ::172.25.79.152
connect: Cannot assign requested address
It seems that it is not possible to ping ipv4mapped-ipv6 addresses in linux.
Can someone take a look at our config file to see if something is wrong or
missing?
Here it is our config file:
//gt642.click
//router and translator: gt64
//00:50:8B:65:2C:23, 172.25.79.156, , fe80::250:8bff:fe65:2c23
// 6-only node: ipv6 3ffe:1ce1:2:0:200::2 (mapped 4 address: 1.0.0.1)
// 4-only node: ipv4: 172.25.79.152 (test for ping, telnet, finger,http)
// ipv4 can ping 1.0.0.1
// ipv6 can ping6 ::172.25.79.152
//ipv4: route delete 1.0.0.1
//ipv4: route add 1.0.0.1 gw 172.25.79.156
//gt64: in click/userlevel directory:
//gt64: ./click ../conf/gt642.click
//ipv6: route -A inet6 delete ::172.25.79.152
//ipv6: route -A inet6 add ::172.25.79.152 gw 3ffe:1ce1:2:0:200::1
arp::ARPQuerier(172.25.79.156, 00:50:8B:65:2C:23);
arr::ARPResponder(172.25.79.156 00:50:8B:65:2C:23);
nda :: IP6NDAdvertiser(
3ffe:1ce1:2:0:200::1/128 00:50:8B:65:2C:23,
fe80::250:8bff:fe65:2c23/128 00:50:8B:65:2C:23);
nds :: IP6NDSolicitor(
fe80::250:8bff:fe65:2c23 , 00:50:8B:65:2C:23);
c :: Classifier(
12/86dd 20/3aff 54/87,
12/86dd 20/3aff 54/88,
12/86dd,
12/0806 20/0001,
12/0806 20/0002,
12/0800 30/01000001,
-);
rt :: StaticIPLookup(
172.25.79.156/32 0,
172.25.79.255/32 0,
172.25.79.0/32 0,
172.25.79.152/32 172.25.79.152 1,
1.0.0.1/32 1.0.0.1 2,
0.0.0.0/0 172.25.0.1 3);
rt6 :: LookupIP6Route(
3ffe:1ce1:2::2/128 ::0 0,
3ffe:1ce1:2:0:200::1/128 ::0 0,
3ffe:1ce1:2:0:200::2/128 3ffe:1ce1:2:0:200::2 1,
3ffe:1ce1:2::/80 ::0 2,
3ffe:1ce1:2:0:200::/80 ::0 2,
::0/96 ::0 3,
::0/0 ::c0a8:1 4);
//at :: AddressTranslator(
// 1,
// 0,
// 3ffe:1ce1:2:0:200::2 ::1.0.0.1,
// 1,
// 1,
// 0,
// ::ffff:172.25.79.156 1300 1310);
//at :: AddressTranslator(
// 1,
// 0,
// 3ffe:1ce1:2:0:200::2 ::1.0.0.1,
// 0);
at :: AddressTranslator(
0,
1,
0,
0,
::1.0.0.1);
pt64 :: ProtocolTranslator64();
pt46 :: ProtocolTranslator46();
FromDevice(eth0, 1)
-> c;
c[0] -> nda
//-> Print(nda, 200)
-> Queue(1024)
-> ToDevice(eth0);
c[1] -> [1]nds;
c[2] //-> Print(before-Strip, 200)
-> Strip(14)
-> CheckIP6Header(3ffe:1ce1:2:0:200::ffff 3ffe:1ce1:2::ffff)
-> GetIP6Address(24)
//-> Print(before-rout6, 200)
-> rt6;
c[3] //-> Print(arr, 200)
-> arr
-> Queue(1024)
-> ToDevice(eth0) ;
c[4] //-> Print(arp-reply, 200)
->[1]arp;
c[5] //-> Print(c5-normal-ip-pkt, 200)
-> Strip(14)
-> CheckIPHeader(18.26.4.255)
-> GetIPAddress(16)
-> rt;
c[6] //-> Print(c6-normal-ip-pkt, 200)
->Discard;
rt[0] ->Print(rt0, 200) ->Discard;
rt[1] //->Print(rt1, 200)
-> DropBroadcasts
-> dt1 :: DecIPTTL
-> fr1 :: IPFragmenter(300)
//->Discard;
//-> Print(before-arp0, 200)
->[0]arp;
rt[2] //->Print(rt2, 200)
->[0]pt46;
rt[3] ->Print(rt3, 200) ->Discard;
rt6[0] -> Print(route60-ok, 200) -> Discard;
rt6[1] //-> Print(route61-ok, 200)
-> dh1:: DecIP6HLIM-> [0]nds;
rt6[2] -> dh2:: DecIP6HLIM
-> Print(route62-ok, 200) -> Discard;
rt6[3] //-> Print(route63-ok, 200)
-> [0]at;
rt6[4] -> Print(route64-ok, 200) -> Discard;
dh1[1] -> ICMP6Error(3ffe:1ce1:2:0:200::1, 3, 0)
-> Discard;
dh2[1] -> ICMP6Error(3ffe:1ce1:2:0:200::1, 3, 0)
-> Discard;
at[0] //-> Print(after-at0, 200)
-> [0]pt64;
at[1] -> Print(after-at1, 200)
-> CheckIP6Header()
-> GetIP6Address(24)
-> [0]rt6;
pt64[0] //-> Print(after-pt640, 200)
-> CheckIPHeader(172.25.79.255 1.255.255.255)
-> GetIPAddress(16)
-> [0]rt;
pt46[0] -> Print(after-pt460, 200)
-> [1]at;
arp[0] -> Print(arp0, 200)
-> ToDevice(eth0);
nds[0] //-> Print(nds, 200)
-> ToDevice(eth0);
Thanks!
--
Juan Luis Baptiste M.
email: jbaptiste at merlinux.org
http://www.merlinux.org
------------------------------------------------------
Todas las noticias de Linux y el mundo Open Source las
encuentras en Merlinux - http://www.merlinux.org
More information about the click
mailing list