Check for Netmiko arguments that were passed in as NAPALM optional arguments.

    Return a dictionary of these optional args  that will be passed into the Netmiko
    ConnectHandler call.

def netmiko_args(optional_args):
    """Check for Netmiko arguments that were passed in as NAPALM optional arguments.

    Return a dictionary of these optional args  that will be passed into the Netmiko
    ConnectHandler call.
    """
    fields = py23_compat.argspec(BaseConnection.__init__)
    args = fields[0]
    defaults = fields[3]

    check_self = args.pop(0)
    if check_self != "self":
        raise ValueError("Error processing Netmiko arguments")

    netmiko_argument_map = dict(zip(args, defaults))

    # Netmiko arguments that are integrated into NAPALM already
    netmiko_filter = ["ip", "host", "username", "password", "device_type", "timeout"]

    # Filter out all of the arguments that are integrated into NAPALM
    for k in netmiko_filter:
        netmiko_argument_map.pop(k)

    # Check if any of these arguments were passed in as NAPALM optional_args
    netmiko_optional_args = {}
    for k, v in netmiko_argument_map.items():
        try:
            netmiko_optional_args[k] = optional_args[k]
        except KeyError:
            pass

    # Return these arguments for use with establishing Netmiko SSH connection
    return netmiko_optional_args