예제 #1
0

def oxm_tlv_header_extract_hasmask(header):
    return (header >> 8) & 1


def oxm_tlv_header_extract_length(header):
    if oxm_tlv_header_extract_hasmask(header):
        length = (header & 0xff) / 2
    else:
        length = header & 0xff
    return length


oxm_types = [
    oxm_fields.OpenFlowBasic('in_port', 0, type_desc.Int4),
    oxm_fields.OpenFlowBasic('in_phy_port', 1, type_desc.Int4),
    oxm_fields.OpenFlowBasic('metadata', 2, type_desc.Int8),
    oxm_fields.OpenFlowBasic('eth_dst', 3, type_desc.MacAddr),
    oxm_fields.NiciraExtended0('eth_dst_nxm', 1, type_desc.MacAddr),
    oxm_fields.OpenFlowBasic('eth_src', 4, type_desc.MacAddr),
    oxm_fields.NiciraExtended0('eth_src_nxm', 2, type_desc.MacAddr),
    oxm_fields.OpenFlowBasic('eth_type', 5, type_desc.Int2),
    oxm_fields.OpenFlowBasic('vlan_vid', 6, type_desc.Int2),
    oxm_fields.OpenFlowBasic('vlan_pcp', 7, type_desc.Int1),
    oxm_fields.OpenFlowBasic('ip_dscp', 8, type_desc.Int1),
    oxm_fields.OpenFlowBasic('ip_ecn', 9, type_desc.Int1),
    oxm_fields.OpenFlowBasic('ip_proto', 10, type_desc.Int1),
    oxm_fields.OpenFlowBasic('ipv4_src', 11, type_desc.IPv4Addr),
    oxm_fields.OpenFlowBasic('ipv4_dst', 12, type_desc.IPv4Addr),
    oxm_fields.OpenFlowBasic('tcp_src', 13, type_desc.Int2),
예제 #2
0
def oxm_tlv_header_extract_hasmask(header):
    return (header >> 8) & 1


def oxm_tlv_header_extract_length(header):
    if oxm_tlv_header_extract_hasmask(header):
        length = (header & 0xff) / 2
    else:
        length = header & 0xff
    return length

OFPXMC_OPENFLOW_BASIC = 0x8000
OFPXMC_OPENFLOW_GPRS = 0x7FFF

oxm_types = [
    oxm_fields.OpenFlowBasic('in_port', 0, oxm_fields.Int4),
    oxm_fields.OpenFlowBasic('in_phy_port', 1, oxm_fields.Int4),
    oxm_fields.OpenFlowBasic('metadata', 2, oxm_fields.Int8),
    oxm_fields.OpenFlowBasic('eth_dst', 3, oxm_fields.MacAddr),
    oxm_fields.OpenFlowBasic('eth_src', 4, oxm_fields.MacAddr),
    oxm_fields.OpenFlowBasic('eth_type', 5, oxm_fields.Int2),
    oxm_fields.OpenFlowBasic('vlan_vid', 6, oxm_fields.Int2),
    oxm_fields.OpenFlowBasic('vlan_pcp', 7, oxm_fields.Int1),
    oxm_fields.OpenFlowBasic('ip_dscp', 8, oxm_fields.Int1),
    oxm_fields.OpenFlowBasic('ip_ecn', 9, oxm_fields.Int1),
    oxm_fields.OpenFlowBasic('ip_proto', 10, oxm_fields.Int1),
    oxm_fields.OpenFlowBasic('ipv4_src', 11, oxm_fields.IPv4Addr),
    oxm_fields.OpenFlowBasic('ipv4_dst', 12, oxm_fields.IPv4Addr),
    oxm_fields.OpenFlowBasic('tcp_src', 13, oxm_fields.Int2),
    oxm_fields.OpenFlowBasic('tcp_dst', 14, oxm_fields.Int2),
    oxm_fields.OpenFlowBasic('udp_src', 15, oxm_fields.Int2),