Skip to content
Snippets Groups Projects
Commit 0089e890 authored by Malte Bauch's avatar Malte Bauch
Browse files

Remove direct access of addresses

parent 9a559f4e
Branches
No related tags found
4 merge requests!17Build basic ci,!10Add simple modem support on linux through modemmanager,!8General refactoring,!5Draft: Add basic set support for ip/routing via gnmi
...@@ -155,25 +155,30 @@ func generateSubinterface(subintf *gnmitargetygot.OpenconfigInterfaces_Interface ...@@ -155,25 +155,30 @@ func generateSubinterface(subintf *gnmitargetygot.OpenconfigInterfaces_Interface
} }
errs := make([]error, 0) errs := make([]error, 0)
for _, addr := range subintf.Ipv4.Addresses.Address { if ipv4s := subintf.GetIpv4(); ipv4s != nil {
if !util.IsValueNil(addr.Config.Ip) && !util.IsValueNil(addr.Config.PrefixLength) { if addresses := ipv4s.GetAddresses(); addresses != nil {
netlinkAddr := &netlink.Addr{ for _, addr := range subintf.Ipv4.Addresses.Address {
IPNet: &net.IPNet{ if !util.IsValueNil(addr.Config.Ip) && !util.IsValueNil(addr.Config.PrefixLength) {
IP: net.ParseIP(*addr.Config.Ip), netlinkAddr := &netlink.Addr{
Mask: net.CIDRMask(int(*addr.Config.PrefixLength), 32), IPNet: &net.IPNet{
}, IP: net.ParseIP(*addr.Config.Ip),
Mask: net.CIDRMask(int(*addr.Config.PrefixLength), 32),
},
}
if err := netlink.AddrReplace(link, netlinkAddr); err != nil {
errs = append(errs, err)
}
}
} }
if err := netlink.AddrReplace(link, netlinkAddr); err != nil { if len(errs) != 0 {
errs = append(errs, err) return fmt.Errorf("encountered %v errors during address adding \n%v", len(errs), errs)
} }
return nil
} }
} }
if len(errs) != 0 { errs = append(errs, fmt.Errorf("no ipv4 addresses found"))
return fmt.Errorf("encountered %v errors during address adding \n%v", len(errs), errs) return fmt.Errorf("encountered %v errors during address adding \n%v", len(errs), errs)
}
return nil
} }
func generateProtocol(protocol *gnmitargetygot.OpenconfigNetworkInstance_NetworkInstances_NetworkInstance_Protocols_Protocol) error { func generateProtocol(protocol *gnmitargetygot.OpenconfigNetworkInstance_NetworkInstances_NetworkInstance_Protocols_Protocol) error {
......
...@@ -46,6 +46,7 @@ func (ou *OsclientUbuntu) GetConfig() *gnmitargetygot.Gnmitarget { ...@@ -46,6 +46,7 @@ func (ou *OsclientUbuntu) GetConfig() *gnmitargetygot.Gnmitarget {
log.WithFields(log.Fields{}).Error(err) log.WithFields(log.Fields{}).Error(err)
} }
for _, localIface := range localIfaces { for _, localIface := range localIfaces {
log.Println("Creating Interface with name: ", localIface.Attrs().Name)
ou.createInterfaces(localIface, ou.gt) ou.createInterfaces(localIface, ou.gt)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment