code: func (plugin *kubenetNetworkPlugin) GetPodNetworkStatus(namespace string, name string, id kubecontainer.ContainerID) (*network.PodNetworkStatus, error) {
  	plugin.mu.Lock()
  	defer plugin.mu.Unlock()
  	// Assuming the ip of pod does not change. Try to retrieve ip from kubenet map first.
  	if podIP, ok := plugin.podIPs[id]; ok {
  		return &network.PodNetworkStatus{IP: net.ParseIP(podIP)}, nil
  	}
  
  	netnsPath, err := plugin.host.GetNetNS(id.ID)
  	if err != nil {
  		return nil, fmt.Errorf("Kubenet failed to retrieve network namespace path: %v", err)
  	}
  	if netnsPath == "" {
  		return nil, fmt.Errorf("Cannot find the network namespace, skipping pod network status for container %q", id)
  	}
  	ip, err := network.GetPodIP(plugin.execer, plugin.nsenterPath, netnsPath, network.DefaultInterfaceName)
  	if err != nil {
  		return nil, err
  	}
  
  	plugin.podIPs[id] = ip.String()
  	return &network.PodNetworkStatus{IP: ip}, nil
  }
docs: // TODO: Use the addToNetwork function to obtain the IP of the Pod. That will assume idempotent ADD call to the plugin.
  // Also fix the runtime's call to Status function to be done only in the case that the IP is lost, no need to do periodic calls