OpenFlow Packet-Out

When the controller wishes to send out a packet through the OpenFlow switch, it uses the OFPT_PACKET_OUT message.

All the actions supported on the software tables of standard-match and IP Control pipeline models are supported in the packet_out message.

IN_PORT

  • If the in_port in the packet_out message is set to OFPP_CONTROLLER or OFPP_NONE, the switch treats it as a CPU generated packet.

  • If the in_port in the packet_out message is a logical port that is not a member of the OpenFlow instance for which the packet_out message is sent, the switch rejects the packet_out message.

OUT_PORT

  • If the out-port in the packet_out is OFPP_NORMAL, the switch performs one of the following:

    • Attempts to route the packets if the Ethernet destination address is set to switch MAC address in the payload.

    • Attempts to bridge the packet for non-MAC address packets.

  • If the out-port in the packet_out is OFPP_LOCAL, the switch sends the packet to the local IP stack in the following scenarios:

    • Packets with Ethernet destination address set to switch MAC address or broadcast MAC address in the payload.

    • Packet IP address is set to IP VLAN of the switch in a payload.

  • Does not support the virtual port, OFPP_TABLE.