code: def send_vdp_vnic_down(self, port_uuid=None, vsiid=None, mgrid=None,
                             typeid=None, typeid_ver=None,
                             vsiid_frmt=vdp_const.VDP_VSIFRMT_UUID,
                             filter_frmt=vdp_const.VDP_FILTER_GIDMACVID,
                             gid=0, mac="", vlan=0, oui=""):
          
          # Correct non-zero VLAN needs to be specified
          try:
              with self.mutex_lock:
                  self.send_vdp_deassoc(vsiid=vsiid, mgrid=mgrid, typeid=typeid,
                                        typeid_ver=typeid_ver,
                                        vsiid_frmt=vsiid_frmt,
                                        filter_frmt=filter_frmt, gid=gid,
                                        mac=mac, vlan=vlan)
                  self.clear_vdp_vsi(port_uuid)
          except Exception as e:
              LOG.error("VNIC Down exception %s", e)
docs: Interface function to apps, called for a vNIC DOWN.
  
          This currently sends an VDP dis-associate message.
          Please refer http://www.ieee802.org/1/pages/802.1bg.html VDP
          Section for more detailed information
          :param uuid: uuid of the vNIC
          :param vsiid: VSI value, Only UUID supported for now
          :param mgrid: MGR ID
          :param typeid: Type ID
          :param typeid_ver: Version of the Type ID
          :param vsiid_frmt: Format of the following VSI argument
          :param filter_frmt: Filter Format. Only <GID,MAC,VID> supported for now
          :param gid: Group ID the vNIC belongs to
          :param mac: MAC Address of the vNIC
          :param vlan: VLAN of the vNIC
          :param oui_id: OUI Type
          :param oui_data: OUI Data
          :param sw_resp: Flag indicating if response is required from the daemon