def mk_classifier(self, classifier_info): classifier = openolt_pb2.Classifier() if ETH_TYPE in classifier_info: classifier.eth_type = classifier_info[ETH_TYPE] if IP_PROTO in classifier_info: classifier.ip_proto = classifier_info[IP_PROTO] if VLAN_VID in classifier_info: classifier.o_vid = classifier_info[VLAN_VID] if METADATA in classifier_info: classifier.i_vid = classifier_info[METADATA] if VLAN_PCP in classifier_info: classifier.o_pbits = classifier_info[VLAN_PCP] if UDP_SRC in classifier_info: classifier.src_port = classifier_info[UDP_SRC] if UDP_DST in classifier_info: classifier.dst_port = classifier_info[UDP_DST] if IPV4_DST in classifier_info: classifier.dst_ip = classifier_info[IPV4_DST] if IPV4_SRC in classifier_info: classifier.src_ip = classifier_info[IPV4_SRC] if PACKET_TAG_TYPE in classifier_info: if classifier_info[PACKET_TAG_TYPE] == SINGLE_TAG: classifier.pkt_tag_type = SINGLE_TAG elif classifier_info[PACKET_TAG_TYPE] == DOUBLE_TAG: classifier.pkt_tag_type = DOUBLE_TAG elif classifier_info[PACKET_TAG_TYPE] == UNTAGGED: classifier.pkt_tag_type = UNTAGGED else: classifier.pkt_tag_type = 'none' return classifier
def mk_classifier(self, classifier_info): classifier = openolt_pb2.Classifier() if 'eth_type' in classifier_info: classifier.eth_type = classifier_info['eth_type'] if 'ip_proto' in classifier_info: classifier.ip_proto = classifier_info['ip_proto'] if 'vlan_vid' in classifier_info: classifier.o_vid = classifier_info['vlan_vid'] if 'metadata' in classifier_info: classifier.i_vid = classifier_info['metadata'] if 'vlan_pcp' in classifier_info: classifier.o_pbits = classifier_info['vlan_pcp'] if 'udp_src' in classifier_info: classifier.src_port = classifier_info['udp_src'] if 'udp_dst' in classifier_info: classifier.dst_port = classifier_info['udp_dst'] if 'ipv4_dst' in classifier_info: classifier.dst_ip = classifier_info['ipv4_dst'] if 'ipv4_src' in classifier_info: classifier.src_ip = classifier_info['ipv4_src'] if 'pkt_tag_type' in classifier_info: if classifier_info['pkt_tag_type'] == 'single_tag': classifier.pkt_tag_type = 'single_tag' elif classifier_info['pkt_tag_type'] == 'double_tag': classifier.pkt_tag_type = 'double_tag' elif classifier_info['pkt_tag_type'] == 'untagged': classifier.pkt_tag_type = 'untagged' else: classifier.pkt_tag_type = 'none' return classifier