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),
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),