code: func NewProxier(loadBalancer LoadBalancer, listenIP net.IP, iptables iptables.Interface, exec utilexec.Interface, pr utilnet.PortRange, syncPeriod, minSyncPeriod, udpIdleTimeout time.Duration, nodePortAddresses []string) (*Proxier, error) {
  	return NewCustomProxier(loadBalancer, listenIP, iptables, exec, pr, syncPeriod, minSyncPeriod, udpIdleTimeout, nodePortAddresses, newProxySocket)
  }
docs: // NewProxier returns a new Proxier given a LoadBalancer and an address on
  // which to listen.  Because of the iptables logic, It is assumed that there
  // is only a single Proxier active on a machine. An error will be returned if
  // the proxier cannot be started due to an invalid ListenIP (loopback) or
  // if iptables fails to update or acquire the initial lock. Once a proxier is
  // created, it will keep iptables up to date in the background and will not
  // terminate if a particular iptables call fails.