puppet-network: add vlan support for poky-stx.rb
[pti/rtp.git] / meta-stx / recipes-support / puppet / files / puppet-network / puppet-network-poky-stx.rb-add-vlan-support.patch
diff --git a/meta-stx/recipes-support/puppet/files/puppet-network/puppet-network-poky-stx.rb-add-vlan-support.patch b/meta-stx/recipes-support/puppet/files/puppet-network/puppet-network-poky-stx.rb-add-vlan-support.patch
new file mode 100644 (file)
index 0000000..69bb58f
--- /dev/null
@@ -0,0 +1,63 @@
+From c08ad0a7c950cf35a3f178fe8b84beb227bfe5ca Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Fri, 13 Nov 2020 17:45:42 +0800
+Subject: [PATCH] poky-stx.rb: add vlan support for poky-stx
+
+Upstream-Status: Inappropriate [poky-stx specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ lib/puppet/provider/network_config/poky-stx.rb | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/lib/puppet/provider/network_config/poky-stx.rb b/lib/puppet/provider/network_config/poky-stx.rb
+index 17fa34c..9b0506a 100644
+--- a/lib/puppet/provider/network_config/poky-stx.rb
++++ b/lib/puppet/provider/network_config/poky-stx.rb
+@@ -45,7 +45,7 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
+
+     # These fields are going to get rearranged to resolve issue 16
+     # https://github.com/adrienthebo/puppet-network/issues/16
+-    attr_accessor :ipaddress, :netmask, :family, :method, :mtu
++    attr_accessor :ipaddress, :netmask, :family, :method, :mtu, :mode
+
+     # Options hash
+     attr_reader :options
+@@ -66,6 +66,7 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
+         :family    => @family,
+         :method    => @method,
+         :mtu       => @mtu,
++        :mode      => @mode,
+         :options   => squeeze_options
+       }
+
+@@ -185,6 +186,7 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
+           #Instance[name].name   = name
+           Instance[name].family = family
+           Instance[name].method = method
++          Instance[name].mode   = :raw
+
+         else
+           # If we match on a string with a leading iface, but it isn't in the
+@@ -219,6 +221,7 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
+             when 'address'; Instance[name].ipaddress    = val
+             when 'netmask'; Instance[name].netmask      = val
+             when 'mtu';     Instance[name].mtu          = val
++            when 'vlan-raw-device'; Instance[name].mode = :vlan
+             else            Instance[name].options[key] << val
+             end
+           else
+@@ -260,6 +263,11 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
+         stanza << %{iface #{provider.name} #{provider.family} #{provider.method}}
+       end
+
++      if provider.options['VLAN'] and  provider.options['VLAN'] == 'yes'
++        raw_device = provider.options['PHYSDEV']
++        stanza << "    vlan-raw-device #{raw_device}"
++      end
++
+       [
+         [:ipaddress, 'address'],
+         [:netmask,   'netmask'],
+--
+2.7.4