def vdp_vlan_change(self, vsw_cb_data, vdp_vlan):
        LOG.debug("In VDP VLAN change VLAN %s", vdp_vlan)
        if not vsw_cb_data:
            LOG.error(_LE("NULL vsw_cb_data Info received"))
            return
        net_uuid = vsw_cb_data.get('net_uuid')
        lvm = self.local_vlan_map.get(net_uuid)
        if not lvm:
            LOG.error(_LE("Network %s is not in the local vlan map"), net_uuid)
            return
        lldpad_port = self.lldpad_info
        if not lldpad_port:
            LOG.error(_LE("There is no LLDPad port available."))
            return
        exist_vdp_vlan = lvm.late_binding_vlan
        lvid = lvm.vlan
        br = self.ext_br_obj
        LOG.debug("lvid %(lvid)s exist %(vlan)s",
                  {'lvid': lvid, 'vlan': exist_vdp_vlan})
        if vdp_vlan == exist_vdp_vlan:
            LOG.debug("No change in provider VLAN %s", vdp_vlan)
            return
        if ovs_lib.is_valid_vlan_tag(exist_vdp_vlan):
            # Clear the old flows
            # outbound
            br.delete_flows(in_port=self.phy_peer_port_num,
                            dl_vlan=lvid)
            # inbound
            self.integ_br_obj.delete_flows(in_port=self.int_peer_port_num,
                                           dl_vlan=exist_vdp_vlan)
        if ovs_lib.is_valid_vlan_tag(vdp_vlan):
            # Add the new flows
            # outbound
            br.add_flow(priority=4,
                        in_port=self.phy_peer_port_num, dl_vlan=lvid,
                        actions="mod_vlan_vid:%s,normal" % vdp_vlan)
            # inbound
            self.integ_br_obj.add_flow(priority=3,
                                       in_port=self.int_peer_port_num,
                                       dl_vlan=vdp_vlan,
                                       actions="mod_vlan_vid:%s,normal" % lvid)
        else:
            LOG.error(_LE("Returned vlan %s is invalid"), vdp_vlan)

        # Even if it's 0, it's still stored to reflect provider
        # hasn't allocated a VLAN from VDP, happens during error case.
        lvm.late_binding_vlan = vdp_vlan
Runs through the process of uploading all screenshots.
dataset/ETHPy150Open openstack/networking-cisco/networking_cisco/apps/saf/agent/vdp/ovs_vdp.py/OVSNeutronVdp.vdp_vlan_change--crossover with--dataset/ETHPy150Open washingtonpost/whippersnapper/whippersnapper/uploader.py/Uploader.upload_screenshots