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
No related branches found
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