Commit Graph
6694 Commits
Author SHA1 Message Date
Matthias Radestock a6eea3405a comment 2014-08-27 15:24:10 +01:00
Matthias Radestock 2a3256805f tiny refactor: rename, move 2014-08-26 21:28:40 +01:00
Matthias Radestock 6f30cf2daf 8 is better than 10
It's quite common for the real pmtu to be 8 less than what was
advertised.
2014-08-26 21:11:24 +01:00
Matthias Radestock c5d39fd5bf drop maxpayload in conjunction with clientPMTU
Seems odd to do the latter w/o the former. And wrong.
2014-08-26 21:09:23 +01:00
Matthias Radestock c6a796675d pay attention to EMSGSIZE errors when sending pmtu verification packets
and drop the pmtu accordingly
This way, when we actually *do* get pmtu info from the network/kernel
we can discover the correct pmtu much more quickly. Especially in the
absence of other traffic, forwarding of which was previously the only
place where we'd check for EMSGSIZE.

Fixes #12
2014-08-26 21:05:13 +01:00
Matthias Radestock fa5a5f46b4 usability: check that script is being run as root
so we can display a nicer error if not
2014-08-26 13:40:09 +01:00
Matthias Radestock 9c5603ebe7 add Troubleshooting section 2014-08-26 12:55:13 +01:00
Matthias Radestock 7e90c73d97 cosmetic: break overlong line 2014-08-26 11:57:01 +01:00
Matthias Radestock e057799e0c add some basic error handling to 'weave' script 2014-08-26 11:54:01 +01:00
Matthias Radestock b35f83f132 explain that we need docker (yes, really)
and switch from 'curl' to 'wget' for installing weave, since the
latter is more widely installed. Also, make root use during that more
explicit.
2014-08-26 11:24:47 +01:00
Matthias Radestock 565856eaba run weave in privileged container
...since on selinux (and possibly others) we encounter a "bind:
permission denied" error instead, most likely because weave is
attempting to bind a raw ip socket, which is a restricted operation on
those systems.

Fixes #7
2014-08-26 10:27:47 +01:00
Matthias Radestock e5df6ee414 tweak intro 2014-08-25 11:55:24 +01:00
Matthias Radestock 81d657f067 container mobility feature 2014-08-24 20:44:47 +01:00
Matthias Radestock 3535604f0a we only know that the build works under Ubuntu 2014-08-24 20:22:14 +01:00
Matthias Radestock f0182ba471 refactor: reduce indentation 2014-08-23 10:32:39 +01:00
Matthias Radestock 07a59d5bb3 r 2014-08-22 18:22:43 +01:00
Matthias Radestock 516c1363e3 eliminate dependency on pipework
...and docker-ns (though we still leave the script around since it's
handy for debugging), and arping (as I have yet to encounter a
situation where it was required)
2014-08-22 18:14:17 +01:00
Matthias Radestock 7a09d97cf5 when forwarding frames, send icmp 3.4 packets back to the source
...instead of injecting them on the local interface.
fixes #2
2014-08-22 15:18:31 +01:00
Matthias Radestock bbafba4fe8 cosmetic 2014-08-22 10:46:10 +01:00
Matthias Radestock 775a603a2c log relaying 2014-08-21 21:52:14 +01:00
Matthias Radestock 6320866961 rename exe to 'weaver' and script to 'weave' 2014-08-21 16:05:17 +01:00
Matthias Radestock a6f66d49b2 gitignore pipework 2014-08-21 13:05:27 +01:00
Matthias Radestock 2260495a54 more intro 2014-08-21 12:31:15 +01:00
Matthias Radestock 5bebccf34c succinct 2014-08-21 12:21:23 +01:00
Matthias Radestock e5dccef8fd cosmetic 2014-08-21 09:38:17 +01:00
Matthias Radestock 8e6d5de9c2 explain that 'wedo run' is a wrapper around 'docker run -d' 2014-08-21 09:31:01 +01:00
Matthias Radestock 01aa187494 s/$@/"$@"/g 2014-08-21 09:05:07 +01:00
Matthias Radestock 2daa5f7d6f permit running 'wedo' without script installation 2014-08-21 08:59:11 +01:00
Matthias Radestock 3914d46934 improve 'Installation' section of docs 2014-08-21 08:37:52 +01:00
Matthias Radestock 6289e8a473 fix typo 2014-08-21 08:26:13 +01:00
Matthias Radestock 7b85049e0b fix error handling in pcap creation 2014-08-20 17:28:14 +01:00
Matthias Radestock 1a41df1edf zero copy capture
delay copying until necessary
2014-08-20 16:08:43 +01:00
Matthias Radestock 276e3b8487 refactor: move packet i/o initialisation into one place 2014-08-20 14:53:27 +01:00
Matthias Radestock 7c4464c852 pcap handles are not thread safe
they contain an errbuf; there might be other issues too.
So we must use different handles in the sniffer and udplistener
goroutines.
2014-08-20 11:42:55 +01:00
Matthias Radestock cb2cdc90cc introduce abstraction for packet i/o 2014-08-20 11:18:12 +01:00
Matthias Radestock 5b7666a850 cosmetic 2014-08-20 11:01:18 +01:00
Matthias Radestock 9dd15f4abf use dst address as source of icmp 3.4, instead of router address
For some reason, packets injected with a src ip that isn't in the
sub-net of the dst ip get dropped.

fixes #1
2014-08-20 09:43:59 +01:00
Matthias Radestock 1ef941e77e capture and inject on the same pcap handle
...since there's no need to have separate handles

Also, make router.Start() perform all startup, including starting a
sniffer goroutine. The main goroutine is now kept alive by the signal
handling loop.
2014-08-19 15:47:09 +01:00
Matthias Radestock b4635bc7ff refactor: don't pass around router.Ourself 2014-08-19 15:27:57 +01:00
Matthias Radestock 31166023b2 rename interface 2014-08-19 11:55:15 +01:00
Matthias Radestock f762783fd9 fix the first octet of the generated MAC
so we don't accidentally create multi-cast addresses, or addresses
that claim to be vendor-assigned
2014-08-19 11:18:27 +01:00
Matthias Radestock d5982aa4f9 update docs to reflect that image is now on docker hub 2014-08-18 19:33:22 +01:00
Matthias Radestock aeef0d7343 git-ignore compile output 2014-08-18 18:02:28 +01:00
Matthias Radestock e6feefa1fc initial commit 2014-08-18 17:55:26 +01:00