diff --git a/scapy/layers/lltd.py b/scapy/layers/lltd.py
index 4ed4c77743eafa160f445bb31bfcd2c1e37a6557..5d19cf52bad67b020fd8b12b1916fa67823263a7 100644
--- a/scapy/layers/lltd.py
+++ b/scapy/layers/lltd.py
@@ -89,11 +89,17 @@ class LLTD(Packet):
         return pkt + pay
 
     def mysummary(self):
-        return self.sprintf('LLTD %tos% - %function%')
+        if isinstance(self.underlayer, Ether):
+            return self.underlayer.sprintf(
+                'LLTD %src% > %dst% %LLTD.tos% - %LLTD.function%'
+            )
+        else:
+            return self.sprintf('LLTD %tos% - %function%')
 
 
 class LLTDHello(Packet):
     name = "LLTD - Hello"
+    show_summary = False
     fields_desc = [
         ShortField("gen_number", 0),
         MACField("current_mapper_address", ETHER_ANY),
@@ -112,11 +118,14 @@ class LLTDDiscover(Packet):
     ]
 
     def mysummary(self):
-        return self.sprintf("%stations_list%"), [LLTD]
+        return (self.sprintf("Stations: %stations_list%")
+                if self.stations_list else "No station", [LLTD])
+
 
 class LLTDAttribute(Packet):
     name = "LLTD Attribute"
     show_indent = False
+    show_summary = False
     # section 2.2.1.1
     fields_desc = [
         ByteEnumField("type", 0, {
@@ -177,6 +186,9 @@ class LLTDAttributeHostID(LLTDAttribute):
         MACField("mac", ETHER_ANY),
     ]
 
+    def mysummary(self):
+        return "ID: %s" % self.mac, [LLTD, LLTDAttributeMachineName]
+
 
 @register_lltd_specific_class(2)
 class LLTDAttributeCharacteristics(LLTDAttribute):
@@ -540,6 +552,10 @@ class LLTDAttributeMachineName(LLTDAttribute):
         StrLenFieldUtf16("hostname", "", length_from=lambda pkt: pkt.len),
     ]
 
+    def mysummary(self):
+        return (self.sprintf("Hostname: %r" % self.hostname),
+                [LLTD, LLTDAttributeHostID])
+
 
 @register_lltd_specific_class(18)
 class LLTDAttributeDeviceUUID(LLTDAttribute):