From dec123e9ee3d0391ef039ce3b227c1dbf6a07153 Mon Sep 17 00:00:00 2001 From: Samuel Lorch Date: Sat, 8 Apr 2023 15:01:28 +0200 Subject: [PATCH] move vlan-assignments into config-addressing --- internal/networkd/configuration.go | 35 +++---------------- .../template/config-addressing.network.tmpl | 5 ++- .../template/vlan-assignments.network.tmpl | 7 ---- 3 files changed, 9 insertions(+), 38 deletions(-) delete mode 100644 internal/networkd/template/vlan-assignments.network.tmpl diff --git a/internal/networkd/configuration.go b/internal/networkd/configuration.go index ffa177e..a32a74f 100644 --- a/internal/networkd/configuration.go +++ b/internal/networkd/configuration.go @@ -16,6 +16,7 @@ type NetworkdConfigFile struct { type InterfaceWithName struct { Name string definitions.Interface + Vlans []string } type BondMembership struct { @@ -28,11 +29,6 @@ type BridgeMembership struct { BridgeName string } -type VlanAssignments struct { - Name string - Vlans []string -} - func GenerateNetworkdConfiguration(conf definitions.Config) ([]NetworkdConfigFile, error) { files := []NetworkdConfigFile{} @@ -130,8 +126,9 @@ func GenerateNetworkdConfiguration(conf definitions.Config) ([]NetworkdConfigFil } } - // Step 6 Generate Vlan Assignments + // Step 6 Generate addressing network files for name, inter := range conf.Network.Interfaces { + vlans := []string{} if inter.Type != definitions.Vlan { vlans := []string{} for vlanName, vlanInter := range conf.Network.Interfaces { @@ -141,42 +138,20 @@ func GenerateNetworkdConfiguration(conf definitions.Config) ([]NetworkdConfigFil } } } - slog.Info("Vlans on interface", "interface", name, "count", len(vlans)) - - if len(vlans) != 0 { - parentName := name - if inter.Type == definitions.Hardware { - parentName = *inter.HardwareDevice - } - buf := new(bytes.Buffer) - err := templates.ExecuteTemplate(buf, "vlan-assignments.network.tmpl", VlanAssignments{ - Name: parentName, - Vlans: vlans, - }) - if err != nil { - return nil, fmt.Errorf("executing vlan-assignments.network.tmpl template: %w", err) - } - files = append(files, NetworkdConfigFile{ - Name: fmt.Sprintf("60-vlan-assignments-%v.network", name), - Content: buf.String(), - }) - } } - } - // Step 7 Generate addressing network files - for name, inter := range conf.Network.Interfaces { buf := new(bytes.Buffer) err := templates.ExecuteTemplate(buf, "config-addressing.network.tmpl", InterfaceWithName{ Name: name, Interface: inter, + Vlans: vlans, }) if err != nil { return nil, fmt.Errorf("executing config-addressing.network.tmpl template: %w", err) } files = append(files, NetworkdConfigFile{ - Name: fmt.Sprintf("70-config-addressing-%v.network", name), + Name: fmt.Sprintf("60-config-addressing-%v.network", name), Content: buf.String(), }) } diff --git a/internal/networkd/template/config-addressing.network.tmpl b/internal/networkd/template/config-addressing.network.tmpl index 19c3e42..f010605 100644 --- a/internal/networkd/template/config-addressing.network.tmpl +++ b/internal/networkd/template/config-addressing.network.tmpl @@ -11,4 +11,7 @@ LLMNR=no Address={{ .Address }} {{- else if eq .AddressingMode 2 }} DHCP=yes -{{- end }} \ No newline at end of file +{{- end }} +{{- range .Vlans }} +VLAN={{ . }} +{{- end}} \ No newline at end of file diff --git a/internal/networkd/template/vlan-assignments.network.tmpl b/internal/networkd/template/vlan-assignments.network.tmpl deleted file mode 100644 index c44b1fb..0000000 --- a/internal/networkd/template/vlan-assignments.network.tmpl +++ /dev/null @@ -1,7 +0,0 @@ -[Match] -Name={{ .Name }} - -[Network] -{{- range .Vlans }} -VLAN={{ . }} -{{- end}} \ No newline at end of file