code: def port_remove_nio_binding(self, port_number):
          
  
          if not self._ethernet_adapter.port_exists(port_number):
              raise VPCSError("Port {port_number} doesn't exist in adapter {adapter}".format(adapter=self._ethernet_adapter,
                                                                                             port_number=port_number))
  
          if self.is_running():
              yield from self._ubridge_send("bridge delete {name}".format(name="VPCS-{}".format(self._id)))
  
          nio = self._ethernet_adapter.get_nio(port_number)
          if isinstance(nio, NIOUDP):
              self.manager.port_manager.release_udp_port(nio.lport, self._project)
          self._ethernet_adapter.remove_nio(port_number)
  
          log.info('VPCS "{name}" [{id}]: {nio} removed from port {port_number}'.format(name=self._name,
                                                                                        id=self.id,
                                                                                        nio=nio,
                                                                                        port_number=port_number))
          return nio
docs: Removes a port NIO binding.
  
          :param port_number: port number
  
          :returns: NIO instance