Thread: [6bed4-devel] First alpha: reference implementation of draft v01
zeroconfig IPv6 tunnel
Status: Beta
Brought to you by:
vanrein
From: Rick v. R. <ri...@op...> - 2012-03-20 09:15:32
|
Hello, I have released alpha-level code of the reference implementation for v01 of the 6bed4 draft. Here are two public locations: https://sourceforge.net/p/tun6bed4/c-code/ci/04b2afa7ad27a97dc4add40c8ac85acceb444c9f/tree/ https://github.com/vanrein/6bed4 The main facility added is the use of peer-to-peer communication, including NAT traversal. This has been tested to work between 6bed4 peer sites, at least for ping6 :-) There's more testing to be done -- linkage to the rest of the IPv6 network, and supposedly some people prefer application-level protocols like HTTP over ICMPv6. The conforming spec is now also available on SourceForge, but its primary location is of course at IETF, http://tools.ietf.org/html/draft-vanrein-v6ops-6bed4-01 Test reports are welcome. Especially with tcpdumps attached :) Keep in mind though -- unlike with v00 the peer can now switch between remote communication endpoints, so you'll want to select traffic to view based on the _local_ port number. That number is picked at random by default, but it can be set manually with the -p option. Gladly done :) Still, to fully reset NAT you'll want to avoid using that. Cheers, -Rick |
From: Joost L. <vla...@gm...> - 2012-05-02 12:26:03
|
Hi Rick, I tried downloading and compiling the code but failed. After downloading and running cmake . I got this message: CMake Error at CMakeLists.txt:9 (ADD_EXECUTABLE): Cannot find source file: client.c So I symlinked client.c to peer.c and now i'm stuck at the following output: In file included from /home/joost/dev/6bed4/client.c:50:0: /home/joost/dev/6bed4/nonstd.h:10:2: error: #error "Build uses experimental Neighbor Discovery Option Type 253 for Destination Link-Layer Address" /home/joost/dev/6bed4/nonstd.h:15:2: error: #error "Build uses experimental UDP port number 27629 or 0x6bed" /home/joost/dev/6bed4/nonstd.h:20:2: warning: #warning "Build uses temporary IPv4 address information" [-Wcpp] /home/joost/dev/6bed4/client.c: In function ‘lookup_neighbor’: /home/joost/dev/6bed4/client.c:720:1: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘ssize_t’ [-Wformat] /home/joost/dev/6bed4/client.c:720:1: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘ssize_t’ [-Wformat] /home/joost/dev/6bed4/client.c: In function ‘handle_4to6_plain’: /home/joost/dev/6bed4/client.c:797:1: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘ssize_t’ [-Wformat] /home/joost/dev/6bed4/client.c: In function ‘handle_4to6_nd’: /home/joost/dev/6bed4/client.c:943:1: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat] /home/joost/dev/6bed4/client.c: In function ‘handle_6to4_plain_unicast’: /home/joost/dev/6bed4/client.c:1133:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 9 has type ‘ssize_t’ [-Wformat] /home/joost/dev/6bed4/client.c: In function ‘handle_6to4_nd’: /home/joost/dev/6bed4/client.c:1179:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘ssize_t’ [-Wformat] /home/joost/dev/6bed4/client.c: In function ‘regular_maintenance’: /home/joost/dev/6bed4/client.c:1436:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘time_t’ [-Wformat] /home/joost/dev/6bed4/client.c: In function ‘run_daemon’: /home/joost/dev/6bed4/client.c:1478:4: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘__time_t’ [-Wformat] /home/joost/dev/6bed4/client.c:1478:4: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘__suseconds_t’ [-Wformat] /home/joost/dev/6bed4/client.c:1478:4: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘__time_t’ [-Wformat] /home/joost/dev/6bed4/client.c:1478:4: warning: format ‘%d’ expects argument of type ‘int’, but argument 6 has type ‘__suseconds_t’ [-Wformat] /home/joost/dev/6bed4/client.c: In function ‘process_args’: /home/joost/dev/6bed4/client.c:1575:5: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat] /home/joost/dev/6bed4/client.c:1595:5: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat] /home/joost/dev/6bed4/client.c:1625:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long unsigned int’ [-Wformat] /home/joost/dev/6bed4/client.c: In function ‘main’: /home/joost/dev/6bed4/client.c:1771:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘char *’ [-Wformat] /home/joost/dev/6bed4/client.c:1817:2: warning: #warning "Target system lacks support for controlling packet fragmentation" [-Wcpp] /home/joost/dev/6bed4/client.c:1872:3: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat] make[2]: *** [CMakeFiles/6bed4client.dir/client.c.o] Error 1 make[1]: *** [CMakeFiles/6bed4client.dir/all] Error 2 make: *** [all] Error 2 Do you have any hints (using a fresh ubuntu 12.04 install) Joost On Mar 20, 2012, at 10:20 AM, Rick van Rein wrote: > Hello, > > I have released alpha-level code of the reference implementation > for v01 of the 6bed4 draft. Here are two public locations: > > https://sourceforge.net/p/tun6bed4/c-code/ci/04b2afa7ad27a97dc4add40c8ac85acceb444c9f/tree/ > > https://github.com/vanrein/6bed4 > > > The main facility added is the use of peer-to-peer communication, > including NAT traversal. This has been tested to work between > 6bed4 peer sites, at least for ping6 :-) > > There's more testing to be done -- linkage to the rest of the > IPv6 network, and supposedly some people prefer application-level > protocols like HTTP over ICMPv6. > > The conforming spec is now also available on SourceForge, but its > primary location is of course at IETF, > > http://tools.ietf.org/html/draft-vanrein-v6ops-6bed4-01 > > > Test reports are welcome. Especially with tcpdumps attached :) > > Keep in mind though -- unlike with v00 the peer can now switch > between remote communication endpoints, so you'll want to select > traffic to view based on the _local_ port number. That number is > picked at random by default, but it can be set manually with the > -p option. Gladly done :) Still, to fully reset NAT you'll want > to avoid using that. > > > Cheers, > -Rick > > ------------------------------------------------------------------------------ > This SF email is sponsosred by: > Try Windows Azure free for 90 days Click Here > http://p.sf.net/sfu/sfd2d-msazure > _______________________________________________ > tun6bed4-devel mailing list > tun...@li... > https://lists.sourceforge.net/lists/listinfo/tun6bed4-devel |
From: Rick v. R. <ri...@op...> - 2012-05-02 12:52:01
|
Hello Joost, > I tried downloading and compiling the code but failed. I put in some really overzealous things to please IANA, but I should remove that I suppose. > After downloading and running cmake . I got this message: > CMake Error at CMakeLists.txt:9 (ADD_EXECUTABLE): > Cannot find source file: > client.c Ah. CMake is an "external contribution" that I didn't check. Clearly I should. I always use plain configure/make. > So I symlinked client.c to peer.c and now i'm stuck at the following output: > In file included from /home/joost/dev/6bed4/client.c:50:0: > /home/joost/dev/6bed4/nonstd.h:10:2: error: #error "Build uses experimental Neighbor Discovery Option Type 253 for Destination Link-Layer Address" > /home/joost/dev/6bed4/nonstd.h:15:2: error: #error "Build uses experimental UDP port number 27629 or 0x6bed" This is handled with the command on the webpage (formally, I'm not allowed to include non-official port numbers that build automatically) so you would do sed -i -e 's/^#error/#warning/' nonstd.h > Do you have any hints (using a fresh ubuntu 12.04 install) I'm doing my build work on Debian, so you should be really close. Perhaps try plain configure/make if the above doesn't help. This is _very_ young software, okay? I've seen it do great things with peer2peer connectivity, but only in very limited tests. Any feedback on the software (including this) is warmly welcomed. Thanks for trying, -Rick |
From: Joost L. <vla...@gm...> - 2012-05-02 13:56:34
Attachments:
firsttry.pcap
|
Hi Rick, Great! Managed to compile and run! Unfortunately I didn't get it to work yet. I've attached a pcap of the session. The first three out of five packets are relevant: the last two are ARP packets. The first packet seems like it's a correct RS sent out to the 6bed4 router. The second packet seems like it's a correct RA received from the 6bed4 router. The third packet seems garbled, Wireshark can't make anything of it. Joost |