aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/repro
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-05-17 19:57:54 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-05-17 19:57:54 +0200
commit738d58ade0f41fb8ab33066dc0dd486d86383ef5 (patch)
tree1a924306f9af60f1067aa0c9ca0859664d8f3319 /pkg/repro
parent3717901c109694be56bb24593db945e4367ecf14 (diff)
pkg/csource: minimize netdevices and net reset
Add separate options to minimize netdevices setup and net namespace reset. Fixes #581
Diffstat (limited to 'pkg/repro')
-rw-r--r--pkg/repro/repro.go22
-rw-r--r--pkg/repro/repro_test.go2
2 files changed, 24 insertions, 0 deletions
diff --git a/pkg/repro/repro.go b/pkg/repro/repro.go
index 07214a630..3b6b190e1 100644
--- a/pkg/repro/repro.go
+++ b/pkg/repro/repro.go
@@ -298,6 +298,8 @@ func (ctx *context) createDefaultOps() csource.Options {
Sandbox: ctx.cfg.Sandbox,
EnableTun: true,
EnableCgroups: true,
+ EnableNetdev: true,
+ ResetNet: true,
UseTmpDir: true,
HandleSegv: true,
WaitRepeat: true,
@@ -795,6 +797,8 @@ var progSimplifies = []Simplify{
}
opts.Repeat = false
opts.WaitRepeat = false
+ opts.EnableCgroups = false
+ opts.ResetNet = false
opts.Procs = 1
return true
},
@@ -822,6 +826,8 @@ var cSimplifies = append(progSimplifies, []Simplify{
opts.Sandbox = ""
opts.EnableTun = false
opts.EnableCgroups = false
+ opts.EnableNetdev = false
+ opts.ResetNet = false
return true
},
func(opts *csource.Options) bool {
@@ -839,6 +845,20 @@ var cSimplifies = append(progSimplifies, []Simplify{
return true
},
func(opts *csource.Options) bool {
+ if !opts.EnableNetdev {
+ return false
+ }
+ opts.EnableNetdev = false
+ return true
+ },
+ func(opts *csource.Options) bool {
+ if !opts.ResetNet {
+ return false
+ }
+ opts.ResetNet = false
+ return true
+ },
+ func(opts *csource.Options) bool {
if !opts.UseTmpDir || opts.Sandbox == "namespace" || opts.EnableCgroups {
return false
}
@@ -857,6 +877,8 @@ var cSimplifies = append(progSimplifies, []Simplify{
return false
}
opts.WaitRepeat = false
+ opts.EnableCgroups = false
+ opts.ResetNet = false
return true
},
}...)
diff --git a/pkg/repro/repro_test.go b/pkg/repro/repro_test.go
index 8f0440784..0a437e713 100644
--- a/pkg/repro/repro_test.go
+++ b/pkg/repro/repro_test.go
@@ -74,6 +74,8 @@ func TestSimplifies(t *testing.T) {
Sandbox: "namespace",
EnableTun: true,
EnableCgroups: true,
+ EnableNetdev: true,
+ ResetNet: true,
UseTmpDir: true,
HandleSegv: true,
WaitRepeat: true,