Reenvío basado en el destino → un proceso en dos pasos:
- Buscar una dirección IP de destino (“correspondencia”)
- Enviar el paquete hacia el puerto de salida especificado, a través del entramado de conmutación (“acción”).
Reenvío Generalizado (Correspondencia + acción)
- La “correspondencia” puede buscarse para múltiples campos de cabecera asociados con diferentes protocolos en diferentes capas de la pila de protocolos.
- La “acción” puede consistir en:
- Reenviar el paquete a uno o más puertos de salida (como en el caso del reenvío basado en el destino)
- Enviar los paquetes a una u otra de entre múltiples interfaces salientes que conducen a un cierto servicio (como en el equilibrado de carga)
- Reescribir valores de la cabecera (como en NAT)
- Bloquear/eliminar un paquete deliberadamente (como en un cortafuegos)
- Enviar el paquete a un servidor especial para procesamiento
- otros

Tablas de flujo Openflow
Cada entrada de la tabla de reenvío correspondencia-acción, que se conoce con el nombre de
tabla de flujo en OpenFlow → calculada, instalada y actualizada por un controlador remoto.

- Conjunto de valores de campos de cabecera:
- Con ellos se buscará una correspondencia en el paquete entrante.
- Conjunto de contadores:
- Se actualizan a medida que se encuentran correspondencias de paquetes con entradas de la tabla de flujo.
- Podrían incluir:
- Número de paquetes para los que se ha encontrado correspondencia con la entrada de la tabla
- el tiempo transcurrido desde que la entrada de la tabla se actualizó por última vez.
- Conjunto de acciones que hay que tomar cuando un paquete se corresponde con una entrada de la tabla de flujo.
- reenviar el paquete a un puerto de salida determinado
- eliminar el paquete
- hacer copias del paquete y enviarlas a múltiples puertos de salida
- reescribir ciertos campos seleccionados de la cabecera.