code: def show_interface(enode, dev, shell=None):
      
      assert dev
  
      cmd = 'ip addr list dev {ldev}'.format(ldev=dev)
      response = enode(cmd, shell=shell)
  
      first_half_dict = _parse_ip_addr_show(response)
  
      d = None
      if (first_half_dict):
          cmd = 'ip -s link list dev {ldev}'.format(ldev=dev)
          response = enode(cmd, shell=shell)
          second_half_dict = _parse_ip_stats_link_show(response)
  
          d = first_half_dict.copy()
          d.update(second_half_dict)
      return d
docs: Show the configured parameters and stats of an interface.
  
      :param enode: Engine node to communicate with.
      :type enode: topology.platforms.base.BaseNode
      :param str dev: Unix network device name. Ex 1, 2, 3..
      :rtype: dict
      :return: A combined dictionary as returned by both
       :func:`topology_lib_ip.parser._parse_ip_addr_show`
       :func:`topology_lib_ip.parser._parse_ip_stats_link_show`