summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorJakub Filak <jakub.filak@sap.com>2019-09-18 00:26:48 +0200
committerGiuseppe Scrivano <gscrivan@redhat.com>2019-11-06 16:22:19 +0100
commit2497b6c77b41c70ecb4711de94de8b3a59b4c1b3 (patch)
treed0490dee84a606e35e22c63b3138367b33d30de0 /pkg
parent455f5b76169515dcc36cf4d7c1d51ead3be02e1f (diff)
downloadpodman-2497b6c77b41c70ecb4711de94de8b3a59b4c1b3.tar.gz
podman-2497b6c77b41c70ecb4711de94de8b3a59b4c1b3.tar.bz2
podman-2497b6c77b41c70ecb4711de94de8b3a59b4c1b3.zip
podman: add support for specifying MAC
I basically copied and adapted the statements for setting IP. Closes #1136 Signed-off-by: Jakub Filak <jakub.filak@sap.com>
Diffstat (limited to 'pkg')
-rw-r--r--pkg/adapter/containers.go13
-rw-r--r--pkg/spec/createconfig.go8
2 files changed, 15 insertions, 6 deletions
diff --git a/pkg/adapter/containers.go b/pkg/adapter/containers.go
index 64550f545..d8cd683d6 100644
--- a/pkg/adapter/containers.go
+++ b/pkg/adapter/containers.go
@@ -547,12 +547,13 @@ func (r *LocalRuntime) Restore(ctx context.Context, c *cliconfig.RestoreValues)
)
options := libpod.ContainerCheckpointOptions{
- Keep: c.Keep,
- TCPEstablished: c.TcpEstablished,
- TargetFile: c.Import,
- Name: c.Name,
- IgnoreRootfs: c.IgnoreRootfs,
- IgnoreStaticIP: c.IgnoreStaticIP,
+ Keep: c.Keep,
+ TCPEstablished: c.TcpEstablished,
+ TargetFile: c.Import,
+ Name: c.Name,
+ IgnoreRootfs: c.IgnoreRootfs,
+ IgnoreStaticIP: c.IgnoreStaticIP,
+ IgnoreStaticMAC: c.IgnoreStaticMAC,
}
filterFuncs = append(filterFuncs, func(c *libpod.Container) bool {
diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go
index 2a8fe7332..e054b3b13 100644
--- a/pkg/spec/createconfig.go
+++ b/pkg/spec/createconfig.go
@@ -396,6 +396,14 @@ func (c *CreateConfig) getContainerCreateOptions(runtime *libpod.Runtime, pod *l
options = append(options, libpod.WithStaticIP(ip))
}
+ if c.MacAddress != "" {
+ mac, err := net.ParseMAC(c.MacAddress)
+ if err != nil {
+ return nil, errors.Wrapf(define.ErrInvalidArg, "cannot parse %s as MAC address: %v", c.MacAddress, err)
+ }
+ options = append(options, libpod.WithStaticMAC(mac))
+ }
+
options = append(options, libpod.WithPrivileged(c.Privileged))
useImageVolumes := c.ImageVolumeType == TypeBind