docs: def abbreviated_interface_name(interface, addl_name_map=None, addl_reverse_map=None):
      """Function to return an abbreviated representation of the interface name.
  
      :param interface: The interface you are attempting to abbreviate.
      :param addl_name_map (optional): A dict containing key/value pairs that updates
      the base mapping. Used if an OS has specific differences. e.g. {"Po": "PortChannel"} vs
      {"Po": "Port-Channel"}
      :param addl_reverse_map (optional): A dict containing key/value pairs that updates
      the reverse mapping. Used if an OS has specific differences. e.g. {"PortChannel": "Po"} vs
      {"PortChannel": "po"}
      """
  
      name_map = {}
      name_map.update(base_interfaces)
      interface_type, interface_number = split_interface(interface)
  
      if isinstance(addl_name_map, dict):
          name_map.update(addl_name_map)
  
      rev_name_map = {}
      rev_name_map.update(reverse_mapping)
  
      if isinstance(addl_reverse_map, dict):
          rev_name_map.update(addl_reverse_map)
  
      # Try to ensure canonical type.
      if name_map.get(interface_type):
          canonical_type = name_map.get(interface_type)
      else:
          canonical_type = interface_type
  
      try:
          abbreviated_name = rev_name_map[canonical_type] + py23_compat.text_type(
              interface_number
          )
          return abbreviated_name
      except KeyError:
          pass
  
      # If abbreviated name lookup fails, return original name
      return interface