Add overlay variable NetworkCIDR6
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
This commit is contained in:
@@ -8,6 +8,7 @@ package config
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"reflect"
|
||||
@@ -170,6 +171,15 @@ func (config *WarewulfYaml) NetworkCIDR() string {
|
||||
return cidr.String()
|
||||
}
|
||||
|
||||
func (config *WarewulfYaml) NetworkCIDR6() string {
|
||||
cidr := fmt.Sprintf("%s/%s", config.Ipaddr6, config.PrefixLen6)
|
||||
_, ipnet, err := net.ParseCIDR(cidr)
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
return ipnet.String()
|
||||
}
|
||||
|
||||
func (config *WarewulfYaml) IpCIDR() string {
|
||||
if config.Ipaddr == "" || config.Netmask == "" {
|
||||
return ""
|
||||
@@ -185,25 +195,12 @@ func (config *WarewulfYaml) IpCIDR() string {
|
||||
}
|
||||
|
||||
func (config *WarewulfYaml) IpCIDR6() string {
|
||||
if config.Ipaddr6 == "" || config.PrefixLen6 == "" {
|
||||
cidr := fmt.Sprintf("%s/%s", config.Ipaddr6, config.PrefixLen6)
|
||||
ip, _, err := net.ParseCIDR(cidr)
|
||||
if err != nil || ip == nil || ip.To4() != nil {
|
||||
return ""
|
||||
}
|
||||
ip := net.ParseIP(config.Ipaddr6)
|
||||
if ip == nil || ip.To4() != nil {
|
||||
return ""
|
||||
}
|
||||
prefix, err := strconv.Atoi(config.PrefixLen6)
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
cidr := net.IPNet{
|
||||
IP: ip,
|
||||
Mask: net.CIDRMask(prefix, 128),
|
||||
}
|
||||
if cidr.IP == nil || cidr.Mask == nil {
|
||||
return ""
|
||||
}
|
||||
return cidr.String()
|
||||
return cidr
|
||||
}
|
||||
|
||||
// InitializedFromFile returns true if [WarewulfYaml] memory was read from
|
||||
|
||||
@@ -30,8 +30,9 @@ type TemplateStruct struct {
|
||||
NetworkCIDR string
|
||||
Overlay string
|
||||
Ipaddr6 string
|
||||
IpCIDR6 string
|
||||
PrefixLen6 string
|
||||
IpCIDR6 string
|
||||
NetworkCIDR6 string
|
||||
Ipv6 bool
|
||||
Dhcp warewulfconf.DHCPConf
|
||||
Nfs warewulfconf.NFSConf
|
||||
@@ -75,8 +76,9 @@ func InitStruct(overlayName string, nodeData node.Node, allNodes []node.Node) (T
|
||||
tstruct.Network = controller.Network
|
||||
tstruct.NetworkCIDR = controller.NetworkCIDR()
|
||||
tstruct.Ipaddr6 = controller.Ipaddr6
|
||||
tstruct.IpCIDR6 = controller.IpCIDR6()
|
||||
tstruct.PrefixLen6 = controller.PrefixLen6
|
||||
tstruct.IpCIDR6 = controller.IpCIDR6()
|
||||
tstruct.NetworkCIDR6 = controller.NetworkCIDR6()
|
||||
if controller.Ipaddr6 != "" && controller.PrefixLen6 != "" {
|
||||
tstruct.Ipv6 = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user