6bed4
18 months agoMigration to GitLab master
Rick van Rein [Thu, 4 Jun 2020 10:55:15 +0000 (10:55 +0000)]
Migration to GitLab

18 months agoCode improvement, minor.
Rick van Rein [Thu, 4 Jun 2020 10:53:17 +0000 (10:53 +0000)]
Code improvement, minor.

18 months agoIssue #11, Extension Hooks for a simple 6bed4node
Rick van Rein [Wed, 3 Jun 2020 13:53:27 +0000 (13:53 +0000)]
Issue #11, Extension Hooks for a simple 6bed4node
 - These enable the use of 6bed4node for a LAN
 - Extension Hooks can be scripts that configure local DHCPv6
 - This is a simplest-possible approach; the issue started much broader
 - We will not go that broad until we need to
 - Signals HUP, INT, KILL and TERM cause proper shutdown

18 months agoIssue #6, Describe local network prefixing
Rick van Rein [Wed, 3 Jun 2020 10:03:35 +0000 (12:03 +0200)]
Issue #6, Describe local network prefixing
 - Implemented a better parser for prefix/len (for -L and -R)
 - Implemented expansion of prefix/len to prefix2/64 (for -L)
 - Implemented the -n <netid> setting with :bed: as a default
 - Not yet done: fdXX:XXXX:XXXX:XXXX::/len for 8<=len<64

18 months agoExtended 6bed4router man page with -R <v6route>
Rick van Rein [Tue, 2 Jun 2020 15:03:15 +0000 (17:03 +0200)]
Extended 6bed4router man page with -R <v6route>

18 months agoRouting is actually spot-on, no loops
Rick van Rein [Tue, 2 Jun 2020 14:47:56 +0000 (14:47 +0000)]
Routing is actually spot-on, no loops
 -> perhaps I had multiple routers running in parallel
 -> perhaps there was a temporary confusion over interfaces
 -> everything is now rock-solid

18 months agoIssue #5, Routable prefixes with -R option, update
Rick van Rein [Tue, 2 Jun 2020 12:54:26 +0000 (12:54 +0000)]
Issue #5, Routable prefixes with -R option, update
 - Wrong server address was just hard-coded config setup.  Meh.
 - Sending back now works, is relayed, but probably loops
 - Looping goes back and forth between 6bed4router and 6bed4peer
 - Assuming that looping ends due to the Hop Limit (pfew...)

18 months agoIssue #5, Describe routable prefix, the -R option
Rick van Rein [Tue, 2 Jun 2020 12:03:35 +0000 (12:03 +0000)]
Issue #5, Describe routable prefix, the -R option
 - 6bed4peer processes prefixes with L=0 or A=0 as additional routes
 - Set them up via "ip -6 route add xxx.../N via fe80:: dev 6bed4"
 - Packages do flow out wonderfully (not processed on 6bed4router yet)

18 months agoIssue #5, Describe routable prefix, the -R option
Rick van Rein [Tue, 2 Jun 2020 09:43:49 +0000 (11:43 +0200)]
Issue #5, Describe routable prefix, the -R option
 - Produce router advertisements with routable prefixes
 - These prefixes are sent with L=0, A=0 (non-local, non-autoconf)

18 months agoAdded -x|--xlate <port> option
Rick van Rein [Sun, 31 May 2020 19:30:58 +0000 (19:30 +0000)]
Added -x|--xlate <port> option
 - NAT64 and other passthrough traffic may benefit
 - Redirect from in-flight traffic to 127.0.0.1:<port>
 - Use firewall rules to do this
 - This avoids any claim on the IPv4 address
 - Continue to use -l <v4listenaddr> as a publicly seen address
 - The <v4listenaddr> occurs in ICMPv6 messages as link local address

18 months agoAdded story about NAT64 / DNS64
Rick van Rein [Sat, 30 May 2020 23:35:29 +0000 (01:35 +0200)]
Added story about NAT64 / DNS64
 - 6bed4 is the explicit choice made by clients
 - 6bed4 enables reliable peer-to-peer operation
 - Until the switch to 6bed4 (or IPv6) is made, NAT64 is helpful
 - NAT64 is probably only workable for client-server mode uses

2 years agoInterface naming. Local port 0 addresses by default.
Rick van Rein [Fri, 26 Jul 2019 15:11:07 +0000 (15:11 +0000)]
Interface naming.  Local port 0 addresses by default.
The facilities were added to the CMake setup.
 - INTERFACE_NAME_6BED4 defaults to "6bed4" but can be changed
 - LOCAL_OVERRIDES_PORT0 now routes PREFIX6BED4:0:0:x:0 to local by default
 - LOCAL_OVERRIDES_PORT0 only routes for valid 6bed4 clients (UDP/IPv4==IPv6)

2 years agoUpdated CMake to "6bed4peer" and "6bed4router" naming
Rick van Rein [Fri, 26 Jul 2019 13:28:27 +0000 (13:28 +0000)]
Updated CMake to "6bed4peer" and "6bed4router" naming
These are basically the 6bed4client and 6bed4server,
but the names are more apt for the peer-to-peer realm
for which 6bed4 is an immensely important tool.

2 years agoAdded CMake support with managed protocol settings
Rick van Rein [Fri, 26 Jul 2019 13:11:47 +0000 (13:11 +0000)]
Added CMake support with managed protocol settings
The protocol settings end up in CMakeCache.txt and can be edited
with the customary CMake utilities.  If not, they are kept at the
built-in, UNSTANDARDISED default values.  Expect these parts to
change in an incompatible manner without notification as a result
of future acceptance of this specification in RFC form.

3 years agoMore verbose failures, early logging also to stderr.
Rick van Rein [Mon, 3 Dec 2018 08:55:55 +0000 (08:55 +0000)]
More verbose failures, early logging also to stderr.

3 years agoUpdate to nonstd.h.in (IP to 145.136.0.1)
root [Mon, 12 Nov 2018 08:51:32 +0000 (08:51 +0000)]
Update to nonstd.h.in (IP to 145.136.0.1)

3 years agoPort fix in nonstd.h.in
Rick van Rein [Fri, 12 Jan 2018 16:22:37 +0000 (17:22 +0100)]
Port fix in nonstd.h.in

3 years agoCorrection to 6bed4.service (was 6bed4peer, now needs manual editing)
Rick van Rein [Fri, 12 Jan 2018 15:50:59 +0000 (16:50 +0100)]
Correction to 6bed4.service (was 6bed4peer, now needs manual editing)

3 years agoUpdated the resetting of the Don't Fragment bit
Rick van Rein [Fri, 12 Jan 2018 15:34:32 +0000 (16:34 +0100)]
Updated the resetting of the Don't Fragment bit
IPv6 frames MUST support 1280 bytes at least, but IPv4 frames
MAY be much smaller.  This is theoretical, but as a result, a
tunnel NEEDS to support fragmentation.

3 years agoResolved conflict with native IPv6 routes with higher metric 1042
Rick van Rein [Sat, 30 Dec 2017 23:51:29 +0000 (23:51 +0000)]
Resolved conflict with native IPv6 routes with higher metric 1042
Note: Will need to setup an extra route later, for TBD1::/32 and friends

3 years agoAdded install target for Makefile.in ; added contrib/fedora, contrib/systemd
Rick van Rein [Sat, 30 Dec 2017 22:56:43 +0000 (22:56 +0000)]
Added install target for Makefile.in ; added contrib/fedora, contrib/systemd

4 years agoStroke of genious? Routing (also) by clients. Interpret lower half as 6bed4
Rick van Rein [Wed, 18 Oct 2017 13:55:56 +0000 (15:55 +0200)]
Stroke of genious?  Routing (also) by clients.  Interpret lower half as 6bed4

4 years agoAdded initial thoughts on Kademlia-style routing built on standard protocols
Rick van Rein [Wed, 18 Oct 2017 11:31:04 +0000 (13:31 +0200)]
Added initial thoughts on Kademlia-style routing built on standard protocols

4 years agoImproved firewall instruction; neither src nor dst may be in fc00::/7
Rick van Rein [Wed, 18 Oct 2017 09:35:00 +0000 (11:35 +0200)]
Improved firewall instruction; neither src nor dst may be in fc00::/7

4 years agoUsed quotes around prefixes in Markdown, to render <netid> and <ipv4> properly
Rick van Rein [Wed, 18 Oct 2017 09:33:19 +0000 (11:33 +0200)]
Used quotes around prefixes in Markdown, to render <netid> and <ipv4> properly

4 years agoExtended PREFIXES with routing of local prefixes, and p2p networking options
Rick van Rein [Wed, 18 Oct 2017 09:23:46 +0000 (11:23 +0200)]
Extended PREFIXES with routing of local prefixes, and p2p networking options

4 years agoExtensions to USING-NATIVE-64
Rick van Rein [Wed, 18 Oct 2017 07:45:15 +0000 (09:45 +0200)]
Extensions to USING-NATIVE-64

4 years agoWrote USAGE-NATIVE-64 for deploying 6bed4router under a single /64 prefix
Rick van Rein [Thu, 28 Sep 2017 05:30:11 +0000 (07:30 +0200)]
Wrote USAGE-NATIVE-64 for deploying 6bed4router under a single /64 prefix

4 years ago6bed4peer TUN
Henri Manson [Tue, 26 Sep 2017 11:21:37 +0000 (13:21 +0200)]
6bed4peer TUN

4 years agoAdded SCTP handling for masquerading
Rick van Rein [Sun, 24 Sep 2017 22:52:24 +0000 (00:52 +0200)]
Added SCTP handling for masquerading
This was easier than expected... since masquerading changes an address,
but not the SCTP common header and further SCTP details, it does not
[seem to] pass into the SCTP checksum, as that uses no pseudo IP header AFAIK.
So, the [complicating] CRC-32 checksum computation need not be redone :-)
There is a need to update UDP signatures, also for an SCTP tunnel, and when
SCTP is the IPv6 payload there should be no checksum updated anywhere.
[We currently have too much code as a result of that, for sctp_offset.]

4 years agoMasquerading for ICMPv6 added; shown to work flawlessly for ping6
Rick van Rein [Fri, 22 Sep 2017 23:58:20 +0000 (01:58 +0200)]
Masquerading for ICMPv6 added; shown to work flawlessly for ping6

4 years agoMasquerading for TCP and UDP requires a new checksum; added it differentially
Rick van Rein [Fri, 22 Sep 2017 23:23:24 +0000 (01:23 +0200)]
Masquerading for TCP and UDP requires a new checksum; added it differentially

4 years agonot setting MAC address of 6bed4
Henri Manson [Fri, 22 Sep 2017 13:57:50 +0000 (15:57 +0200)]
not setting MAC address of 6bed4

4 years agoReconstructed v6listen_linklocal_complete and v6lladdr
Rick van Rein [Fri, 22 Sep 2017 13:26:50 +0000 (03:26 -1000)]
Reconstructed v6listen_linklocal_complete and v6lladdr

4 years agoInserted %s
Rick van Rein [Fri, 22 Sep 2017 13:06:44 +0000 (03:06 -1000)]
Inserted %s

4 years agoCorrected v6lladdr handling
Rick van Rein [Fri, 22 Sep 2017 13:04:25 +0000 (03:04 -1000)]
Corrected v6lladdr handling

4 years agoCorrection of renamed arguments, notably whether optarg is expected
Rick van Rein [Fri, 22 Sep 2017 12:54:16 +0000 (02:54 -1000)]
Correction of renamed arguments, notably whether optarg is expected

4 years agoApplied RFC 4862; separation into 128-N and N bits (for N=14)
Rick van Rein [Fri, 22 Sep 2017 12:18:45 +0000 (02:18 -1000)]
Applied RFC 4862; separation into 128-N and N bits (for N=14)

4 years agoMerged masquerading and generic SCTP support
Rick van Rein [Fri, 22 Sep 2017 10:54:50 +0000 (12:54 +0200)]
Merged masquerading and generic SCTP support

4 years agoSCTP support is so inconsistent that we define our own header overlays
Rick van Rein [Fri, 22 Sep 2017 08:35:56 +0000 (22:35 -1000)]
SCTP support is so inconsistent that we define our own header overlays

4 years agoMasquerading of ports now works in outward direction [but nothing arrives]
Rick van Rein [Thu, 21 Sep 2017 00:23:45 +0000 (02:23 +0200)]
Masquerading of ports now works in outward direction [but nothing arrives]

4 years agoOption name overhaul; introduced Masquerading options and logic
Rick van Rein [Wed, 20 Sep 2017 23:07:06 +0000 (01:07 +0200)]
Option name overhaul; introduced Masquerading options and logic
[sorry, but letters for port numbers trumped arbitrary daemon etc flagging]

4 years agoType in default IPv4 address for 6bed4router
Rick van Rein [Wed, 20 Sep 2017 13:51:47 +0000 (03:51 -1000)]
Type in default IPv4 address for 6bed4router

4 years agoPorts updated
Rick van Rein [Wed, 20 Sep 2017 13:04:59 +0000 (14:04 +0100)]
Ports updated

4 years agoAdded a description of candidate prefixes: TBD1, fc64, 2002, native
root [Sun, 17 Sep 2017 22:49:30 +0000 (00:49 +0200)]
Added a description of candidate prefixes: TBD1, fc64, 2002, native

4 years agoAdded support for IPv4-side bouncing of fc64::/16 over 6bed4 frames
Rick van Rein [Sun, 17 Sep 2017 15:13:34 +0000 (16:13 +0100)]
Added support for IPv4-side bouncing of fc64::/16 over 6bed4 frames

4 years agoStopped setting LLADDR for 6bed4. Copied all of prefix (also the 2 bits)
Rick van Rein [Sun, 17 Sep 2017 12:41:41 +0000 (13:41 +0100)]
Stopped setting LLADDR for 6bed4.  Copied all of prefix (also the 2 bits)

4 years agoCorrected checks when receiving Router Advertisement sent to ff02::1
Rick van Rein [Sun, 17 Sep 2017 11:59:25 +0000 (12:59 +0100)]
Corrected checks when receiving Router Advertisement sent to ff02::1

4 years agoFixed prefix (which had non-zero lanip), added INTERFACE_NAME_6BED4 option
root [Sun, 17 Sep 2017 13:46:41 +0000 (15:46 +0200)]
Fixed prefix (which had non-zero lanip), added INTERFACE_NAME_6BED4 option

4 years agononstd.h.test file toegevoegd (voor testdoeleinden)
Rick van Rein [Sun, 17 Sep 2017 13:11:56 +0000 (15:11 +0200)]
nonstd.h.test file toegevoegd (voor testdoeleinden)

4 years agoRevised code rather heavily:
Rick van Rein [Sat, 16 Sep 2017 20:47:44 +0000 (21:47 +0100)]
Revised code rather heavily:
 - Changed Router Advertisements from /64 to /114 prefix
 - Modified old port/address code with ^0x02 bit flipping
 - Unicast ICMPv6 replies are now sent to the original requester
 - validate_originator() is tightened somewhat, but questions remain
 - Still several places where a brusque assumption of a /64 is made

4 years agoFurther improved Router Advertisement, reply to sender in unicast mode
Rick van Rein [Sat, 16 Sep 2017 14:39:52 +0000 (15:39 +0100)]
Further improved Router Advertisement, reply to sender in unicast mode

4 years agoSending back unicast request to unicast originator
Rick van Rein [Sat, 16 Sep 2017 13:27:18 +0000 (14:27 +0100)]
Sending back unicast request to unicast originator

4 years agoremoved linux/if.h, conflicts with net/if.h
Henri Manson [Fri, 15 Sep 2017 18:44:47 +0000 (20:44 +0200)]
removed linux/if.h, conflicts with net/if.h

4 years agoFixed a stx err
Henri Manson [Fri, 15 Sep 2017 18:32:32 +0000 (20:32 +0200)]
Fixed a stx err

4 years agoOops, checked in nonstd.h -- now its gone
Rick van Rein [Fri, 15 Sep 2017 18:25:30 +0000 (20:25 +0200)]
Oops, checked in nonstd.h -- now its gone

4 years agoRemoved port0-hack from is_6bed4() -- conceptual confusion with negation
Rick van Rein [Fri, 15 Sep 2017 13:29:53 +0000 (15:29 +0200)]
Removed port0-hack from is_6bed4() -- conceptual confusion with negation
Take care: The option LOCAL_OVERRIDES_PORT0 is needed to enable port0 override

4 years agoRenamed .c programs to their .exe counterparts
Rick van Rein [Fri, 15 Sep 2017 10:35:13 +0000 (12:35 +0200)]
Renamed .c programs to their .exe counterparts

4 years agocleanup and fixes
Henri Manson [Thu, 13 Jul 2017 19:46:27 +0000 (21:46 +0200)]
cleanup and fixes

4 years agoupdate 6bed4 ipv6 format to draft-vanrein-6bed4-03, consider ipv4 with UDP port zero...
Henri Manson [Thu, 13 Jul 2017 13:28:51 +0000 (15:28 +0200)]
update 6bed4 ipv6 format to draft-vanrein-6bed4-03, consider ipv4 with UDP port zero non-6bed4

4 years agoupdated relay_6bed4_plain_unicast
Henri Manson [Fri, 7 Jul 2017 08:18:56 +0000 (10:18 +0200)]
updated relay_6bed4_plain_unicast

4 years agooptimized fix
Henri Manson [Fri, 7 Jul 2017 07:35:10 +0000 (09:35 +0200)]
optimized fix

4 years agodisable private IPv6 addresses, re-enable default-route
Henri Manson [Fri, 7 Jul 2017 07:03:11 +0000 (09:03 +0200)]
disable private IPv6 addresses, re-enable default-route

4 years agoFIX: copy v6data to v4data in handle_6to4, rename TUN interface from '6bed4_rfc'...
Henri Manson [Fri, 7 Jul 2017 07:01:55 +0000 (09:01 +0200)]
FIX: copy v6data to v4data in handle_6to4, rename TUN interface from '6bed4_rfc' to '6bed4'

9 years agoMerge ssh://10.0.0.200/zorro/firmerware/home/vanrein/0cpm.org/6bed4/refimpl-01
Rick van Rein [Tue, 20 Mar 2012 11:54:42 +0000 (12:54 +0100)]
Merge ssh://10.0.0.200/zorro/firmerware/home/vanrein/0cpm.org/6bed4/refimpl-01

9 years agoImplemented reply to fe80::/64 NgbSol, debugged a v4/v6 buffer choice
vanrein [Tue, 20 Mar 2012 11:51:30 +0000 (12:51 +0100)]
Implemented reply to fe80::/64 NgbSol, debugged a v4/v6 buffer choice

9 years agoMerge branch 'master' of /var/git/6bed4
Rick van Rein [Tue, 20 Mar 2012 08:55:00 +0000 (09:55 +0100)]
Merge branch 'master' of /var/git/6bed4

Conflicts:

6bed4router.man
democlient.c
inetdraft.rst
router.c

9 years agoVarious small changes
vanrein [Tue, 20 Mar 2012 05:55:22 +0000 (06:55 +0100)]
Various small changes

9 years agoAdded #define where they were missing
vanrein [Tue, 20 Mar 2012 05:32:53 +0000 (06:32 +0100)]
Added #define where they were missing

9 years agoAdditional file with definitions of ports and IPs
Rick van Rein [Tue, 20 Mar 2012 05:30:25 +0000 (06:30 +0100)]
Additional file with definitions of ports and IPs

9 years agoThis version appears to be working fine -- specifically, peer2peer
Rick van Rein [Tue, 20 Mar 2012 05:13:34 +0000 (06:13 +0100)]
This version appears to be working fine -- specifically, peer2peer
It supports QoS (untested) and keepalive parameterisation (default -k 30,3)

10 years agoReleased version for v00 of the draft.
Rick van Rein [Fri, 25 Nov 2011 14:34:16 +0000 (14:34 +0000)]
Released version for v00 of the draft.

10 years agoWorking, although not all traffic filters have been resurrected. pubtsp-plus-autoconfig
root [Thu, 3 Feb 2011 11:15:13 +0000 (12:15 +0100)]
Working, although not all traffic filters have been resurrected.
Note that a default route may have to be setup manually on the democlient.

10 years agoMadefile
root [Wed, 2 Feb 2011 23:08:46 +0000 (00:08 +0100)]
Madefile

10 years agoAdded a new protocol, 6bed4, to the daemon. Planned to replace PubTSP later.
root [Wed, 2 Feb 2011 23:04:57 +0000 (00:04 +0100)]
Added a new protocol, 6bed4, to the daemon.  Planned to replace PubTSP later.

10 years agoAdded license file, minor updates to manpage pubtsp-based-old-version
root [Mon, 13 Dec 2010 17:30:42 +0000 (18:30 +0100)]
Added license file, minor updates to manpage

10 years agoImproved manpage; changed to BSD-style license without advertising clause.
Rick van Rein [Mon, 13 Dec 2010 08:50:24 +0000 (08:50 +0000)]
Improved manpage; changed to BSD-style license without advertising clause.

10 years agoNot only tunnel setup, but data transport is now working as well.
root [Sun, 12 Dec 2010 22:18:33 +0000 (22:18 +0000)]
Not only tunnel setup, but data transport is now working as well.

10 years agoGotten it to work with a *fixed* version of tspc-2.1.1
root [Sun, 12 Dec 2010 11:46:05 +0000 (12:46 +0100)]
Gotten it to work with a *fixed* version of tspc-2.1.1

10 years agoFormatted manual page
Rick van Rein [Sun, 12 Dec 2010 10:02:12 +0000 (11:02 +0100)]
Formatted manual page

10 years agoIncorporated router.c -- doh!
Rick van Rein [Sun, 12 Dec 2010 09:00:56 +0000 (10:00 +0100)]
Incorporated router.c -- doh!

10 years agoInitial test release. No ICMP translation, debug messages.
Rick van Rein [Sun, 12 Dec 2010 08:59:54 +0000 (09:59 +0100)]
Initial test release.  No ICMP translation, debug messages.