Martynas Pumputis
f37377264b
Fix fallback to pcap based bridge when odp is not supported
...
The fix ensures that if odp is not supported (usually due to
missing openvswitch, vxlan or vport-vxlan kernel modules),
weaver will create the pcap based bridge instead of crashing.
2017-06-27 18:38:21 +02:00
Bryan Boreham
6928929bc9
Install rules allowing outward traffic in npc mode
2017-05-19 15:16:02 +00:00
Bryan Boreham
3cb6569d55
Don't clear WEAVE-NPC chain here; it is controlled by weave-npc.
...
We don't get a very useful error object back from go-iptables and I
didn't feel like parsing the message, so just ignore all errors.
It would be racy to try to check if WEAVE-NPC existed before calling
NewChain.
2017-05-18 09:29:33 +00:00
Bryan Boreham
f517a09f0f
Create WEAVE-NPC chain in the correct table
2017-04-26 17:04:36 +00:00
Bryan Boreham
4f7d476907
Only do set-up on bridge/datapath devices once at creation time
...
This is a change to the previous behaviour, but makes the code easier
to read and seems more sensible.
2017-04-24 16:48:19 +00:00
Bryan Boreham
a731d47d97
Rename bridge detection/creation functions
2017-04-24 16:42:05 +00:00
Bryan Boreham
44beed4027
Refactor decision logic for initial bridge type
2017-04-24 16:26:16 +00:00
Bryan Boreham
a7feb41e62
Replace switch statements with Bridge polymorphism
2017-04-20 15:57:49 +00:00
Bryan Boreham
fddb3ee06e
Review feedback
2017-04-20 15:57:49 +00:00
Bryan Boreham
ae625a18c8
Move awsvpc bridge expose from weave script to Go code
2017-04-17 19:41:47 +00:00
Bryan Boreham
f05bb6c4e0
Don't assume we always run in in host pid space
...
Pass the path to the proc filesystem down
2017-04-17 19:41:47 +00:00
Bryan Boreham
c8e0c12d34
Move AWSVPC sysctls into Go code
2017-04-17 19:41:47 +00:00
Bryan Boreham
ab380ed2c1
Set weave bridge address and mtu
...
including the dance with the dummy interface to get MTU set high
2017-04-17 19:41:47 +00:00
Bryan Boreham
9494f0655d
More meaningful errors
2017-04-17 19:41:47 +00:00
Bryan Boreham
abadbf883a
AWSVPC mode now part of BridgeConfig
2017-04-17 19:41:47 +00:00
Bryan Boreham
833eb6166f
Add AWSVPC bridge type
2017-04-17 19:41:47 +00:00
Bryan Boreham
dd232775e6
Move expect-npc setup from weave script to Go code
2017-04-17 19:41:47 +00:00
Bryan Boreham
8051f51d46
Move bridge-creation code from weave script into Go code
...
via weaveutil create-bridge function
2017-04-17 19:41:47 +00:00
Bryan Boreham
6fd9f471ff
Bridge setup iptables rules
2017-04-17 19:41:47 +00:00
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
Bryan Boreham
6ef302b8a1
Extract FindBridgeIP to net package
2016-12-23 11:57:04 +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
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