Parse the 'ip -s link show dev <dev>' command raw output.

    :param str raw_result: vtysh raw result string.
    :rtype: dict
    :return: The parsed result of the show interface command in a \
        dictionary of the form:

     ::

        {
            'rx_bytes': 0,
            'rx_packets': 0,
            'rx_errors': 0,
            'rx_dropped': 0,
            'rx_overrun': 0,
            'rx_mcast': 0,
            'tx_bytes': 0,
            'tx_packets': 0,
            'tx_errors': 0,
            'tx_dropped': 0,
            'tx_carrier': 0,
            'tx_collisions': 0,

        }

def _parse_ip_stats_link_show(raw_result):
    """
    Parse the 'ip -s link show dev <dev>' command raw output.

    :param str raw_result: vtysh raw result string.
    :rtype: dict
    :return: The parsed result of the show interface command in a \
        dictionary of the form:

     ::

        {
            'rx_bytes': 0,
            'rx_packets': 0,
            'rx_errors': 0,
            'rx_dropped': 0,
            'rx_overrun': 0,
            'rx_mcast': 0,
            'tx_bytes': 0,
            'tx_packets': 0,
            'tx_errors': 0,
            'tx_dropped': 0,
            'tx_carrier': 0,
            'tx_collisions': 0,

        }
    """

    show_re = (
        r'.+?RX:.*?\n'
        r'\s*(?P<rx_bytes>\d+)\s+(?P<rx_packets>\d+)\s+(?P<rx_errors>\d+)\s+'
        r'(?P<rx_dropped>\d+)\s+(?P<rx_overrun>\d+)\s+(?P<rx_mcast>\d+)'
        r'.+?TX:.*?\n'
        r'\s*(?P<tx_bytes>\d+)\s+(?P<tx_packets>\d+)\s+(?P<tx_errors>\d+)\s+'
        r'(?P<tx_dropped>\d+)\s+(?P<tx_carrier>\d+)\s+(?P<tx_collisions>\d+)'
    )

    re_result = match(show_re, raw_result, DOTALL)
    result = None

    if (re_result):
        result = re_result.groupdict()
        for key, value in result.items():
            if value is not None:
                if value.isdigit():
                    result[key] = int(value)

    return result