Return the arp table from the minion

    .. versionchanged:: 2015.8.0
        Added support for SunOS

    CLI Example:

    .. code-block:: bash

        salt '*' network.arp

def arp():
    '''
    Return the arp table from the minion

    .. versionchanged:: 2015.8.0
        Added support for SunOS

    CLI Example:

    .. code-block:: bash

        salt '*' network.arp
    '''
    ret = {}
    out = __salt__['cmd.run']('arp -an')
    for line in out.splitlines():
        comps = line.split()
        if len(comps) < 4:
            continue
        if __grains__['kernel'] == 'SunOS':
            if ':' not in comps[-1]:
                continue
            ret[comps[-1]] = comps[1]
        elif __grains__['kernel'] == 'OpenBSD':
            if comps[0] == 'Host' or comps[1] == '(incomplete)':
                continue
            ret[comps[1]] = comps[0]
        elif __grains__['kernel'] == 'AIX':
            if comps[0] in ('bucket', 'There'):
                continue
            ret[comps[3]] = comps[1].strip('(').strip(')')
        else:
            ret[comps[3]] = comps[1].strip('(').strip(')')

    return ret