def construct_vdp_dict(self, mode, mgrid, typeid, typeid_ver, vsiid_frmt,<EOL>vsiid, filter_frmt, gid, mac, vlan, oui_id,<EOL>oui_data):
vdp_keyword_str = {}<EOL>if mgrid is None:<EOL><INDENT>mgrid = self.vdp_opts.get('<STR_LIT>')<EOL><DEDENT>mgrid_str = "<STR_LIT>" % mgrid<EOL>if typeid is None:<EOL><INDENT>typeid = self.vdp_opts.get('<STR_LIT>')<EOL><DEDENT>typeid_str = "<STR_LIT>" % typeid<EOL>if typeid_ver is None:<EOL><INDENT>typeid_ver = self.vdp_opts.get('<STR_LIT>')<EOL><DEDENT>typeid_ver_str = "<STR_LIT>" % typeid_ver<EOL>if int(vsiid_frmt) == int(self.vdp_opts.get('<STR_LIT>')):<EOL><INDENT>vsiid_str = "<STR_LIT>" % vsiid<EOL><DEDENT>else:<EOL><INDENT>LOG.error("<STR_LIT>")<EOL>return vdp_keyword_str<EOL><DEDENT>if vlan == constants.INVALID_VLAN:<EOL><INDENT>vlan = <NUM_LIT:0><EOL><DEDENT>if int(filter_frmt) == vdp_const.VDP_FILTER_GIDMACVID:<EOL><INDENT>if not mac or gid == <NUM_LIT:0>:<EOL><INDENT>LOG.error("<STR_LIT>")<EOL>return vdp_keyword_str<EOL><DEDENT>else:<EOL><INDENT>f = "<STR_LIT>"<EOL>filter_str = f % (vlan, mac, gid)<EOL><DEDENT><DEDENT>elif int(filter_frmt) == vdp_const.VDP_FILTER_GIDVID:<EOL><INDENT>if gid == <NUM_LIT:0>:<EOL><INDENT>LOG.error("<STR_LIT>")<EOL>return vdp_keyword_str<EOL><DEDENT>else:<EOL><INDENT>filter_str = "<STR_LIT>" + '<STR_LIT>' % vlan + "<STR_LIT>" + '<STR_LIT>' % gid<EOL><DEDENT><DEDENT>elif int(filter_frmt) == vdp_const.VDP_FILTER_MACVID:<EOL><INDENT>if not mac:<EOL><INDENT>LOG.error("<STR_LIT>")<EOL>return vdp_keyword_str<EOL><DEDENT>else:<EOL><INDENT>filter_str = "<STR_LIT>" + '<STR_LIT>' % vlan + "<STR_LIT:->" + mac<EOL><DEDENT><DEDENT>elif int(filter_frmt) == vdp_const.VDP_FILTER_VID:<EOL><INDENT>filter_str = "<STR_LIT>" + '<STR_LIT>' % vlan<EOL><DEDENT>else:<EOL><INDENT>LOG.error("<STR_LIT>")<EOL>return vdp_keyword_str<EOL><DEDENT>oui_list = []<EOL>if oui_id is not None and oui_data is not None:<EOL><INDENT>if oui_id is '<STR_LIT>':<EOL><INDENT>oui_list = self.gen_cisco_vdp_oui(oui_id, oui_data)<EOL><DEDENT><DEDENT>mode_str = "<STR_LIT>" + mode<EOL>vdp_keyword_str = dict(mode=mode_str, mgrid=mgrid_str,<EOL>typeid=typeid_str, typeid_ver=typeid_ver_str,<EOL>vsiid=vsiid_str, filter=filter_str,<EOL>oui_list=oui_list)<EOL>return vdp_keyword_str<EOL>
Constructs the VDP 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
        :return vdp_keyword_str: Dictionary of VDP arguments and values