

def _add_port(self, lport):
    if (lport.get_device_owner() == common_const.DEVICE_OWNER_ROUTER_INTF):
        return
    parser = self.get_datapath().ofproto_parser
    ofproto = self.get_datapath().ofproto
    dst_ip = lport.get_ip()
    dst_mac = lport.get_mac()
    network_id = lport.get_external_value('local_network_id')
    tunnel_key = lport.get_tunnel_key()
    if (netaddr.IPAddress(dst_ip).version == 4):
        match = parser.OFPMatch(eth_type=ether.ETH_TYPE_IP, metadata=network_id, ipv4_dst=dst_ip)
    else:
        match = parser.OFPMatch(eth_type=ether.ETH_TYPE_IPV6, metadata=network_id, ipv6_dst=dst_ip)
    actions = []
    actions.append(dst_mac.OFPActionSetField(eth_dst=dst_mac))
    actions.append(parser.OFPActionSetField(reg7=tunnel_key))
    action_inst = self.get_datapath().ofproto_parser.OFPInstructionActions(ofproto.OFPIT_APPLY_ACTIONS, actions)
    goto_inst = parser.OFPInstructionGotoTable(const.EGRESS_TABLE)
    inst = [action_inst, goto_inst]
    self.mod_flow(self.get_datapath(), inst=inst, table_id=const.L3_PROACTIVE_LOOKUP_TABLE, priority=const.PRIORITY_HIGH, match=match)

dataset/ETHPy150Open openstack/dragonflow/dragonflow/controller/l3_proactive_app.py L3ProactiveApp._add_port/VarMisuse@156/231 `parser`->`dst_mac`