Skip to content

Commit

Permalink
Merge pull request #8244 from heyitsanthony/bridge-default-passthrough
Browse files Browse the repository at this point in the history
bridge: make pass-through the default
  • Loading branch information
Anthony Romano committed Jul 12, 2017
2 parents 1010b82 + 39f4502 commit ae33c5e
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 20 deletions.
12 changes: 6 additions & 6 deletions tools/local-tester/Procfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Use goreman to run `go get github.com/mattn/goreman`

# peer bridges
pbridge1: tools/local-tester/bridge/bridge 127.0.0.1:11111 127.0.0.1:12380
pbridge2: tools/local-tester/bridge/bridge 127.0.0.1:22222 127.0.0.1:22380
pbridge3: tools/local-tester/bridge/bridge 127.0.0.1:33333 127.0.0.1:32380
pbridge1: tools/local-tester/bridge.sh 127.0.0.1:11111 127.0.0.1:12380
pbridge2: tools/local-tester/bridge.sh 127.0.0.1:22222 127.0.0.1:22380
pbridge3: tools/local-tester/bridge.sh 127.0.0.1:33333 127.0.0.1:32380

# client bridges
cbridge1: tools/local-tester/bridge/bridge 127.0.0.1:2379 127.0.0.1:11119
cbridge2: tools/local-tester/bridge/bridge 127.0.0.1:22379 127.0.0.1:22229
cbridge3: tools/local-tester/bridge/bridge 127.0.0.1:32379 127.0.0.1:33339
cbridge1: tools/local-tester/bridge.sh 127.0.0.1:2379 127.0.0.1:11119
cbridge2: tools/local-tester/bridge.sh 127.0.0.1:22379 127.0.0.1:22229
cbridge3: tools/local-tester/bridge.sh 127.0.0.1:32379 127.0.0.1:33339

faults: tools/local-tester/faults.sh

Expand Down
16 changes: 16 additions & 0 deletions tools/local-tester/bridge.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh

exec tools/local-tester/bridge/bridge \
-delay-accept \
-reset-listen \
-conn-fault-rate=0.25 \
-immediate-close \
-blackhole \
-time-close \
-write-remote-only \
-read-remote-only \
-random-blackhole \
-corrupt-receive \
-corrupt-send \
-reorder \
$@
32 changes: 18 additions & 14 deletions tools/local-tester/bridge/bridge.go
Original file line number Diff line number Diff line change
Expand Up @@ -193,19 +193,19 @@ type connFaultFunc func(*bridgeConn)
func main() {
var cfg config

flag.BoolVar(&cfg.delayAccept, "delay-accept", true, "delays accepting new connections")
flag.BoolVar(&cfg.resetListen, "reset-listen", true, "resets the listening port")

flag.Float64Var(&cfg.connFaultRate, "conn-fault-rate", 0.25, "rate of faulty connections")
flag.BoolVar(&cfg.immediateClose, "immediate-close", true, "close after accept")
flag.BoolVar(&cfg.blackhole, "blackhole", true, "reads nothing, writes go nowhere")
flag.BoolVar(&cfg.timeClose, "time-close", true, "close after random time")
flag.BoolVar(&cfg.writeRemoteOnly, "write-remote-only", true, "only write, no read")
flag.BoolVar(&cfg.readRemoteOnly, "read-remote-only", true, "only read, no write")
flag.BoolVar(&cfg.randomBlackhole, "random-blackhole", true, "blackhole after data xfer")
flag.BoolVar(&cfg.corruptReceive, "corrupt-receive", true, "corrupt packets received from destination")
flag.BoolVar(&cfg.corruptSend, "corrupt-send", true, "corrupt packets sent to destination")
flag.BoolVar(&cfg.reorder, "reorder", true, "reorder packet delivery")
flag.BoolVar(&cfg.delayAccept, "delay-accept", false, "delays accepting new connections")
flag.BoolVar(&cfg.resetListen, "reset-listen", false, "resets the listening port")

flag.Float64Var(&cfg.connFaultRate, "conn-fault-rate", 0.0, "rate of faulty connections")
flag.BoolVar(&cfg.immediateClose, "immediate-close", false, "close after accept")
flag.BoolVar(&cfg.blackhole, "blackhole", false, "reads nothing, writes go nowhere")
flag.BoolVar(&cfg.timeClose, "time-close", false, "close after random time")
flag.BoolVar(&cfg.writeRemoteOnly, "write-remote-only", false, "only write, no read")
flag.BoolVar(&cfg.readRemoteOnly, "read-remote-only", false, "only read, no write")
flag.BoolVar(&cfg.randomBlackhole, "random-blackhole", false, "blackhole after data xfer")
flag.BoolVar(&cfg.corruptReceive, "corrupt-receive", false, "corrupt packets received from destination")
flag.BoolVar(&cfg.corruptSend, "corrupt-send", false, "corrupt packets sent to destination")
flag.BoolVar(&cfg.reorder, "reorder", false, "reorder packet delivery")

flag.StringVar(&cfg.txDelay, "tx-delay", "0", "duration to delay client transmission to server")
flag.StringVar(&cfg.rxDelay, "rx-delay", "0", "duration to delay client receive from server")
Expand Down Expand Up @@ -287,6 +287,10 @@ func main() {
connFaults = append(connFaults, f)
}

if len(connFaults) > 1 && cfg.connFaultRate == 0 {
log.Fatal("connection faults defined but conn-fault-rate=0")
}

var disp dispatcher
if cfg.reorder {
disp = newDispatcherPool()
Expand All @@ -302,7 +306,7 @@ func main() {
}

r := rand.Intn(len(connFaults))
if rand.Intn(100) > int(100.0*cfg.connFaultRate) {
if rand.Intn(100) >= int(100.0*cfg.connFaultRate) {
r = 0
}

Expand Down

0 comments on commit ae33c5e

Please sign in to comment.