in cmd/main.go [36:70]
func cmdAdd(args *skel.CmdArgs) error {
config := &types.NetConf{}
err := json.Unmarshal(args.StdinData, config)
if err != nil {
log.Print("failed to load netconf", err)
return err
}
content, err := os.ReadFile(KVPStorePath)
if err != nil {
fmt.Printf("Error reading file %s: %v", KVPStorePath, err)
}
result := &type100.Result{CNIVersion: type100.ImplementedSpecVersion}
err = ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error {
nic, err := netlink.LinkByName(args.IfName)
if err != nil {
log.Print("failed to get link by name", err)
return err
}
ipAddr, err := ibaddrparser.GetIBAddr(content, nic.Attrs().HardwareAddr.String())
if err != nil {
return err
}
result.IPs = append(result.IPs, &type100.IPConfig{
Address: *ipAddr,
})
return nil
})
if err != nil {
log.Print("failed to get ip address", err)
return err
}
// outputCmdArgs(args)
return types.PrintResult(result, config.CNIVersion)
}