code: def send_vdp_query_msg(self, mode, mgrid, typeid, typeid_ver, vsiid_frmt,
                             vsiid, filter_frmt, gid, mac, vlan, oui_id,
                             oui_data):
          
          if not self.is_ncb:
              LOG.error("EVB cannot be set on NB")
              return
          vdp_key_str = self.construct_vdp_dict(mode, mgrid, typeid,
                                                typeid_ver, vsiid_frmt, vsiid,
                                                filter_frmt, gid, mac, vlan,
                                                None, None)
          if len(vdp_key_str) == 0:
              LOG.error("NULL List")
              return
          reply = self.run_vdptool(["-t", "-i", self.port_name, "-R", "-V", mode,
                                    "-c", vdp_key_str['mode'],
                                    "-c", vdp_key_str['mgrid'],
                                    "-c", vdp_key_str['typeid'],
                                    "-c", vdp_key_str['typeid_ver'],
                                    "-c", vdp_key_str['vsiid']])
          return reply
docs: Constructs and Sends the VDP Query Message.
  
          Please refer http://www.ieee802.org/1/pages/802.1bg.html VDP
          Section for more detailed information
          :param mode: Associate or De-associate
          :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 vsiid: VSI value
          :param filter_frmt: Filter Format
          :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
          :return reply: Reply from vdptool