func cmdAdd()

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)
}