예제 #1
0
파일: ofctl_v1_4.py 프로젝트: jhhan/ryu
def match_to_str(ofmatch):
    match = {}

    ofmatch = ofmatch.to_jsondict()["OFPMatch"]
    ofmatch = ofmatch["oxm_fields"]

    for match_field in ofmatch:
        key = match_field["OXMTlv"]["field"]
        mask = match_field["OXMTlv"]["mask"]
        value = match_field["OXMTlv"]["value"]
        if key == "vlan_vid":
            value = ofctl_utils.match_vid_to_str(value, mask, ofproto_v1_4.OFPVID_PRESENT)
        elif key == "in_port":
            value = UTIL.ofp_port_to_user(value)
        else:
            if mask is not None:
                value = str(value) + "/" + str(mask)
        match.setdefault(key, value)

    return match
예제 #2
0
def match_to_str(ofmatch):
    match = {}

    ofmatch = ofmatch.to_jsondict()['OFPMatch']
    ofmatch = ofmatch['oxm_fields']

    for match_field in ofmatch:
        key = match_field['OXMTlv']['field']
        mask = match_field['OXMTlv']['mask']
        value = match_field['OXMTlv']['value']
        if key == 'vlan_vid':
            value = ofctl_utils.match_vid_to_str(value, mask,
                                                 ofproto_v1_4.OFPVID_PRESENT)
        elif key == 'in_port':
            value = UTIL.ofp_port_to_user(value)
        else:
            if mask is not None:
                value = str(value) + '/' + str(mask)
        match.setdefault(key, value)

    return match
예제 #3
0
def match_to_str(ofmatch):
    match = {}

    ofmatch = ofmatch.to_jsondict()['OFPMatch']
    ofmatch = ofmatch['oxm_fields']

    for match_field in ofmatch:
        key = match_field['OXMTlv']['field']
        mask = match_field['OXMTlv']['mask']
        value = match_field['OXMTlv']['value']
        if key == 'vlan_vid':
            value = ofctl_utils.match_vid_to_str(value, mask,
                                                 ofproto_v1_4.OFPVID_PRESENT)
        elif key == 'in_port':
            value = UTIL.ofp_port_to_user(value)
        else:
            if mask is not None:
                value = str(value) + '/' + str(mask)
        match.setdefault(key, value)

    return match
예제 #4
0
def match_to_str(ofmatch):

    keys = {
        'eth_src': 'dl_src',
        'eth_dst': 'dl_dst',
        'eth_type': 'dl_type',
        'vlan_vid': 'dl_vlan',
        'ipv4_src': 'nw_src',
        'ipv4_dst': 'nw_dst',
        'ip_proto': 'nw_proto',
        'tcp_src': 'tp_src',
        'tcp_dst': 'tp_dst',
        'udp_src': 'tp_src',
        'udp_dst': 'tp_dst'
    }

    match = {}

    ofmatch = ofmatch.to_jsondict()['OFPMatch']
    ofmatch = ofmatch['oxm_fields']

    for match_field in ofmatch:
        key = match_field['OXMTlv']['field']
        if key in keys:
            key = keys[key]
        mask = match_field['OXMTlv']['mask']
        value = match_field['OXMTlv']['value']
        if key == 'dl_vlan':
            value = ofctl_utils.match_vid_to_str(value, mask,
                                                 ofproto_v1_3.OFPVID_PRESENT)
        elif key == 'in_port':
            value = UTIL.ofp_port_to_user(value)
        else:
            if mask is not None:
                value = str(value) + '/' + str(mask)
        match.setdefault(key, value)

    return match
예제 #5
0
def match_to_str(ofmatch):

    keys = {'eth_src': 'dl_src',
            'eth_dst': 'dl_dst',
            'eth_type': 'dl_type',
            'vlan_vid': 'dl_vlan',
            'ipv4_src': 'nw_src',
            'ipv4_dst': 'nw_dst',
            'ip_proto': 'nw_proto',
            'tcp_src': 'tp_src',
            'tcp_dst': 'tp_dst',
            'udp_src': 'tp_src',
            'udp_dst': 'tp_dst'
            }

    match = {}

    ofmatch = ofmatch.to_jsondict()['OFPMatch']
    ofmatch = ofmatch['oxm_fields']

    for match_field in ofmatch:
        key = match_field['OXMTlv']['field']
        if key in keys:
            key = keys[key]
        mask = match_field['OXMTlv']['mask']
        value = match_field['OXMTlv']['value']
        if key == 'dl_vlan':
            value = ofctl_utils.match_vid_to_str(value, mask,
                                                 ofproto_v1_3.OFPVID_PRESENT)
        elif key == 'in_port':
            value = UTIL.ofp_port_to_user(value)
        else:
            if mask is not None:
                value = str(value) + '/' + str(mask)
        match.setdefault(key, value)

    return match
예제 #6
0
def match_vid_to_str(value, mask):
    return ofctl_utils.match_vid_to_str(value, mask,
                                        ofproto_v1_2.OFPVID_PRESENT)
예제 #7
0
def match_vid_to_str(value, mask):
    return ofctl_utils.match_vid_to_str(
        value, mask, ofproto_v1_2.OFPVID_PRESENT)