Bryan Boreham
2d037d874c
MTU selection closer to weave script
...
Note that if initFastdp sets the MTU for the datapath then the same
value is used for the bridge also.
2017-04-17 19:41:47 +00:00
Bryan Boreham
8e5384ee01
Create pcap veth for no-fastdp operation
2017-04-17 19:41:47 +00:00
Adam Harrison
7dd37d2a13
Add functions to create bridge
2017-04-17 19:41:47 +00:00
Adam Harrison
36521b04a2
Utility function to enforce docker bridge addr_assign_type
2017-04-17 19:41:47 +00:00
Martynas Pumputis
7478e78ab7
Add NSPathByPidWithRoot
...
The function is used in a case when /proc is bind mounted to
other than /proc dir.
2017-04-12 13:05:40 +00:00
Bryan Boreham
5f6c5f6692
Ensure boltDB pathname is constructed uniformly
...
Keep the concatenation of the prefix and filename inside the boltdb
package, so we can't get it wrong outside.
2017-04-11 15:45:04 +00:00
Bryan Boreham
e2d644b86b
Peer Discovery via a web service
2017-04-10 14:09:06 +00:00
Martynas Pumputis
50985dee90
Enable ESN in fastdp-crypto
2017-01-31 17:21:01 +00:00
Martynas Pumputis
60323d0960
Add fastdp crypto
2017-01-31 17:21:01 +00:00
Bryan Boreham
929167366a
Don't fail if only half the system IDs are blank
2017-01-19 15:57:21 +00:00
Bryan Boreham
ebcb7f6108
Use persisted peer name if it matches old-style ID
2017-01-11 13:14:35 +00:00
Bryan Boreham
70a20b4d26
Generate peer name / mac address in Go
2017-01-11 13:12:30 +00:00
Bryan Boreham
6ef302b8a1
Extract FindBridgeIP to net package
2016-12-23 11:57:04 +00:00
Bryan Boreham
bb1cca713d
Merge branch '1.8'
2016-12-08 12:27:40 +00:00
Bryan Boreham
1d80a8d676
Merge pull request #2674 from weaveworks/issues/2650-fix-looping-flows
...
Detect looping flows
2016-12-08 12:27:15 +00:00
Martynas Pumputis
baa8f229f7
Detect enabling of hairpin mode on vethwe-bridge
...
Enabled hairpin mode on vethwe-bridge was one of the root causes
for installing looping flows in the fastdp mode.
Also, it confused the weave custom L2 bridge, as the bridge treats
a bounced back packet, e.g. ARP brodcast request, as a local one
(the case for "Captured a packet associated with remote host").
2016-12-08 11:37:52 +00:00
Adam Harrison
ac4957e15c
Merge branch '1.8'
2016-12-06 11:30:32 +00:00
Bryan Boreham
ee6596e21c
Run iptables commands in a loop
...
in case they get "temporarily unavailable" exit
2016-12-05 11:11:20 +00:00
Bryan Boreham
d5f1c233bf
Remove punctuation from the end of error messages
...
to placate the linter
2016-11-18 10:40:41 +00:00
Bryan Boreham
a07e3301b1
Add 'weave expose' NAT iptables rules inside CNI plugin
...
This avoids a race between the plugin and the script
2016-11-14 12:37:42 +00:00
Bryan Boreham
5630a01a8c
Implement CNI plugin via weaveutil
2016-11-03 17:42:39 +00:00
Martynas Pumputis
9754da15d6
Encode "list-netdevs" output in JSON
2016-10-20 18:18:57 +01:00
Martynas Pumputis
e611f04f41
Move NetDev utils from common/ to net/
2016-10-19 17:03:30 +01:00
Martynas Pumputis
3492cd93d0
Use safe version of WithNetNS
2016-10-19 16:15:59 +01:00
Martynas Pumputis
7f92c8c4c6
Add a safer version of WithNetNS*
...
The introduced functions are executing the work function via
a process which executes "nsenter --net=path weaveutil ...".
2016-10-06 15:25:05 +01:00
Matthias Radestock
06a63db4cf
Merge branch '1.6'
2016-09-08 12:55:05 +01:00
Bryan Boreham
c69e140e9e
Check current tx value before trying to set it
2016-09-08 10:20:35 +01:00
Adam Harrison
f5a30c790e
Merge branch '1.6'
2016-07-28 11:30:47 +01:00
Martynas Pumputis
fd0a7efa23
Fix "weave ps" output when weave is not running
...
The #2418 has changed a behaviour of "weave ps" which outputs
"Link not found" in the case of weave not running. The previous
behaviour was to output an empty line.
2016-07-14 15:15:14 +01:00
Bryan Boreham
88bf64722f
Merge branch '1.6'
2016-07-12 10:33:38 +00:00
Martynas Pumputis
89221f117b
Denote WithNetNS* functions with unsafe
...
Please see https://github.com/weaveworks/weave/issues/2388#issuecomment-228365069
for more details.
2016-07-05 15:12:39 +01:00
Martynas Pumputis
05baa566c6
Refactor common.GetBridgeNetDev
...
- Optimize. Use LinkByName instead of iterating over list of available
links. Linux does not support interfaces with the same names.
- Remove unnecessary indirection in utility functions which return
common.NetDev.
2016-07-05 15:12:39 +01:00
Adam Harrison
f386548890
Maintain per-subnet ACCEPT rule for multicast ingress
2016-06-17 17:19:52 +01:00
Adam Harrison
c80d87554a
Maintain per-interface DROP rule for multicast ingress
2016-06-17 16:10:13 +01:00
Martynas Pumputis
7670fed72c
Add AWSVPC setup routines to the attach script
...
When running in the AWSVPC mode, we need to do the following:
- Keep the HW TX offloading on.
- Check that the allocated address belongs to the default subnet,
because only one subnet is allowed and it should be the default one.
If it is not possible to determine whether AWSVPC is on, we ignore
all the steps, because the attachment routines have to work
regardless whether the router is running and the AWSVPC detection
is done by querying the /ipinfo/tracker endpoint served by
the router.
2016-06-08 16:44:54 +01:00
Martynas Pumputis
c260536429
Add AWSVPC Tracker
...
The tracker is responsible for managing the AWSVPC route tables
which is used to implement the underlay routing based on VPC.
2016-06-08 16:44:54 +01:00
Martynas Pumputis
2266868648
Add the range.CIDRs functions
2016-06-08 16:44:54 +01:00
Bryan Boreham
b417696c66
Wait 1ms before sending gratuitous arp
2016-05-26 11:17:04 +00:00
Bryan Boreham
6dd109a5bb
Only do ethtool tx off in bridged (pcap) mode.
...
Detect the bridge type in the same way the weave script does.
2016-05-25 17:34:13 +01:00
Bryan Boreham
2702b85ee5
Improve veth name construction; use a constant instead of "ethwe"
2016-05-25 17:34:13 +01:00
Bryan Boreham
8717fd15ed
Use 'peer' and 'veth' instead of 'guest' and 'local', after review comments
2016-05-25 17:34:13 +01:00
Bryan Boreham
ac14b19db8
Move attach() and detach() from shell script to Go
2016-05-25 17:34:13 +01:00
Adam Harrison
e3ef473cd3
Utility function to disable tx checksum offload
2016-05-25 17:29:45 +01:00
Bryan Boreham
4fc2835d92
Extract AddRoute function
2016-05-25 17:29:45 +01:00
Bryan Boreham
85023e0a76
Extract AttachContainer() function
...
Also move netlink and netns code from common to net
Creates interface if not already there
Adds addresses
Move the set link 'up' to after addresses are added
2016-05-25 17:29:45 +01:00
Bryan Boreham
0257274aa8
Extract basic veth setup
2016-05-25 17:23:49 +01:00
Bryan Boreham
9aaa7f19fd
initialize via sub-function
2016-05-25 17:17:19 +01:00
Bryan Boreham
d59c170cd5
Remove veth on error
2016-05-25 17:17:19 +01:00
Bryan Boreham
f11d91badf
Extract veth creation and LinkSetUp to net package
2016-05-25 17:17:19 +01:00
Martynas Pumputis
85cea672d3
Change the type of entry.Free to address.Count
...
This change is backward compatible, because the underlying types of
address.Offset (the previous type) and address.Count are the same
and the Gob encoder does not require types to exactly correspond.
2016-05-16 15:03:05 +01:00