Exemple #1
0
def gauge_async(datapath=None):
    """Return async message config for Gauge."""
    packet_in_mask = 0
    port_status_mask = (1 << ofp.OFPPR_ADD | 1 << ofp.OFPPR_DELETE
                        | 1 << ofp.OFPPR_MODIFY)
    flow_removed_mask = 0
    return parser.OFPSetAsync(datapath, [packet_in_mask, packet_in_mask],
                              [port_status_mask, port_status_mask],
                              [flow_removed_mask, flow_removed_mask])
Exemple #2
0
def faucet_async(datapath=None):
    """Return async message config for FAUCET."""
    packet_in_mask = 1 << ofp.OFPR_ACTION
    port_status_mask = (1 << ofp.OFPPR_ADD | 1 << ofp.OFPPR_DELETE
                        | 1 << ofp.OFPPR_MODIFY)
    flow_removed_mask = (1 << ofp.OFPRR_IDLE_TIMEOUT
                         | 1 << ofp.OFPRR_HARD_TIMEOUT)
    return parser.OFPSetAsync(datapath, [packet_in_mask, packet_in_mask],
                              [port_status_mask, port_status_mask],
                              [flow_removed_mask, flow_removed_mask])
Exemple #3
0
def faucet_async(datapath=None, notify_flow_removed=False, packet_in=True, port_status=True):
    """Return async message config for FAUCET/Gauge"""
    packet_in_mask = 0
    if packet_in:
        packet_in_mask = 1 << ofp.OFPR_ACTION
    port_status_mask = 0
    if port_status:
        port_status_mask = (
            1 << ofp.OFPPR_ADD | 1 << ofp.OFPPR_DELETE | 1 << ofp.OFPPR_MODIFY)
    flow_removed_mask = 0
    if notify_flow_removed:
        flow_removed_mask = (
            1 << ofp.OFPRR_IDLE_TIMEOUT | 1 << ofp.OFPRR_HARD_TIMEOUT)
    return parser.OFPSetAsync(
        datapath,
        [packet_in_mask, packet_in_mask],
        [port_status_mask, port_status_mask],
        [flow_removed_mask, flow_removed_mask])