code: func (pf *PortForwarder) forward() error {
  	var err error
  
  	listenSuccess := false
  	for _, port := range pf.ports {
  		err = pf.listenOnPort(&port)
  		switch {
  		case err == nil:
  			listenSuccess = true
  		default:
  			glog.Warningf("Unable to listen on port %d: %v", port.Local, err)
  		}
  	}
  
  	if !listenSuccess {
  		return fmt.Errorf("Unable to listen on any of the requested ports: %v", pf.ports)
  	}
  
  	close(pf.Ready)
  
  	// wait for interrupt or conn closure
  	select {
  	case <-pf.stopChan:
  	case <-pf.streamConn.CloseChan():
  		util.HandleError(errors.New("lost connection to pod"))
  	}
  
  	return nil
  }
docs: // forward dials the remote host specific in req, upgrades the request, starts
  // listeners for each port specified in ports, and forwards local connections
  // to the remote host via streams.