Detailed view of the LLDP neighbors.

def get_lldp_neighbors_detail(self, interface=""):
        """Detailed view of the LLDP neighbors."""
        lldp_neighbors = defaultdict(list)
        lldp_table = junos_views.junos_lldp_neighbors_detail_table(self.device)
        if not interface:
            try:
                lldp_table.get()
            except RpcError as rpcerr:
                # this assumes the library runs in an environment
                # able to handle logs
                # otherwise, the user just won't see this happening
                log.error("Unable to retrieve the LLDP neighbors information:")
                log.error(py23_compat.text_type(rpcerr))
                return {}
            interfaces = lldp_table.get().keys()
        else:
            interfaces = [interface]

        if self.device.facts.get("switch_style") == "VLAN":
            lldp_table.GET_RPC = "get-lldp-interface-neighbors-information"
            interface_variable = "interface_name"
            alt_rpc = "get-lldp-interface-neighbors"
            alt_interface_variable = "interface_device"
        else:
            lldp_table.GET_RPC = "get-lldp-interface-neighbors"
            interface_variable = "interface_device"
            alt_rpc = "get-lldp-interface-neighbors-information"
            alt_interface_variable = "interface_name"

        for interface in interfaces:
            try:
                interface_args = {interface_variable: interface}
                lldp_table.get(**interface_args)
            except RpcError as e:
                if "syntax error" in e.message:
                    # Looks like we need to call a different RPC on this device
                    # Switch to the alternate style
                    lldp_table.GET_RPC = alt_rpc
                    interface_variable = alt_interface_variable
                    # Retry
                    interface_args = {interface_variable: interface}
                    lldp_table.get(**interface_args)

            for item in lldp_table:
                lldp_neighbors[interface].append(
                    {
                        "parent_interface": item.parent_interface,
                        "remote_port": item.remote_port or "",
                        "remote_chassis_id": napalm.base.helpers.convert(
                            napalm.base.helpers.mac,
                            item.remote_chassis_id,
                            item.remote_chassis_id,
                        ),
                        "remote_port_description": napalm.base.helpers.convert(
                            py23_compat.text_type, item.remote_port_description
                        ),
                        "remote_system_name": item.remote_system_name,
                        "remote_system_description": item.remote_system_description,
                        "remote_system_capab": self._transform_lldp_capab(
                            item.remote_system_capab
                        ),
                        "remote_system_enable_capab": self._transform_lldp_capab(
                            item.remote_system_enable_capab
                        ),
                    }
                )

        return lldp_neighbors