Once a controller deletes flows from Table 0, it has to re-add in order for traffic to flow through an OpenFlow switch

OpenFlow instance running Standard-Match Mode

  • When the OpenFlow instance is configured with version 1.3, as soon as the controller connects and negotiates to 1.3, the switch internally adds the following Rule 1 on Table 0 (which says: GoTo Table 100):
    • Until the K/KA.15.15 release, if the controller were to delete Rule 1, there was no impact on packet forwarding on the switch for packets coming on OpenFlow VLANs. Also, the switch always rejected any attempts made by the controller to add back this default rule to Table 0.

    • Starting with the K/KA.15.16 release, if the controller were to delete Rule 1, there is an impact on packet forwarding on the switch for packets coming on OpenFlow VLANs. The switch drops packets incoming on OpenFlow VLANs. This dropping of packets continues until the controller adds the default rule back to Table 0. The switch complies to flow-mod requests from the controller on Table 0 based on its advertised capabilities.

OpenFlow instance running IP-Control Mode

  • Rules on Table 0 in this mode:
    • Rule 1 -> All fields are wild-carded on Table 0 (which says Goto 100).

    • Rule 2 -> Match on Ether-Type IPv4 on Table 0 (which says Goto 50).

    • Rule 3 -> Match on Ether-Type IPv6 on Table 0 (which says Goto 50).

  • Starting with the K/KA.15.16 release:
    • If Rule 1 is deleted, all non-IP traffic is dropped incoming on OpenFlow VLANs.

    • If Rule 2 is deleted, the switch drops all IPv4 traffic incoming on OpenFlow VLANs.

    • If Rule 3 is deleted, the switch drops all IPv6 traffic incoming on OpenFlow VLANs.

  • There is also the case of a Table Miss Rule on Table 50:
    • Rule 4 -> All fields are wild-carded on Table 50 (which says Goto 102).

  • Starting with the K/KA.15.16 release:
    • If Rule 4 is deleted, the switch drops all IP (both IPv4 and IPv6) traffic that does not match any of the rules on Table 50.

  • In all these cases, the controller has to add these rules back to get the traffic to be forwarded as desired.