summaryrefslogtreecommitdiff
path: root/pkg/network
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-12-09 07:53:55 -0800
committerGitHub <noreply@github.com>2019-12-09 07:53:55 -0800
commitc2dab75f0ec1502e075cf5174d1b308267648fda (patch)
tree4c000064fd0f3a660446ce6cdf2bd1bc97992bf5 /pkg/network
parent7287f69b52e5bcb59f9977b261ee488942465ecb (diff)
parentef872dcd21c60af70ab1848a7e0c873f142f6f44 (diff)
downloadpodman-c2dab75f0ec1502e075cf5174d1b308267648fda.tar.gz
podman-c2dab75f0ec1502e075cf5174d1b308267648fda.tar.bz2
podman-c2dab75f0ec1502e075cf5174d1b308267648fda.zip
Merge pull request #4517 from baude/macvlan
macvlan networks
Diffstat (limited to 'pkg/network')
-rw-r--r--pkg/network/config.go16
-rw-r--r--pkg/network/netconflist.go12
2 files changed, 28 insertions, 0 deletions
diff --git a/pkg/network/config.go b/pkg/network/config.go
index 37eb0dd64..e47b16143 100644
--- a/pkg/network/config.go
+++ b/pkg/network/config.go
@@ -90,6 +90,22 @@ func (p PortMapConfig) Bytes() ([]byte, error) {
return json.MarshalIndent(p, "", "\t")
}
+type IPAMDHCP struct {
+ DHCP string `json:"type"`
+}
+
+// MacVLANConfig describes the macvlan config
+type MacVLANConfig struct {
+ PluginType string `json:"type"`
+ Master string `json:"master"`
+ IPAM IPAMDHCP `json:"ipam"`
+}
+
+// Bytes outputs the configuration as []byte
+func (p MacVLANConfig) Bytes() ([]byte, error) {
+ return json.MarshalIndent(p, "", "\t")
+}
+
// FirewallConfig describes the firewall plugin
type FirewallConfig struct {
PluginType string `json:"type"`
diff --git a/pkg/network/netconflist.go b/pkg/network/netconflist.go
index e19051b88..a8217097a 100644
--- a/pkg/network/netconflist.go
+++ b/pkg/network/netconflist.go
@@ -132,3 +132,15 @@ func HasDNSNamePlugin(paths []string) bool {
}
return false
}
+
+// NewMacVLANPlugin creates a macvlanconfig with a given device name
+func NewMacVLANPlugin(device string) MacVLANConfig {
+ i := IPAMDHCP{DHCP: "dhcp"}
+
+ m := MacVLANConfig{
+ PluginType: "macvlan",
+ Master: device,
+ IPAM: i,
+ }
+ return m
+}