--- Begin Message ---
On 05/05/2020 20:45, Francois-Xavier Le Bail via tcpdump-workers wrote:
> We should print "PW Ethernet Control Word" and the "Sequence Number", 2 last 
> 2 octets of the 4.
> Like:
> PW Ethernet Control Word, Sequence Number xxx

Attached patch based on yours.

-- 
Francois-Xavier
diff --git a/print-mpls.c b/print-mpls.c
index 62b79957..e375c84a 100644
--- a/print-mpls.c
+++ b/print-mpls.c
@@ -50,7 +50,8 @@ enum mpls_packet_type {
        PT_UNKNOWN,
        PT_IPV4,
        PT_IPV6,
-       PT_OSI
+       PT_OSI,
+       PT_ETHER
 };
 
 /*
@@ -174,6 +175,15 @@ mpls_print(netdissect_options *ndo, const u_char *bp, 
u_int length)
                        pt = PT_OSI;
                        break;
 
+               case 0x00:      /* RFC 4448 PW Ethernet Control Word */
+                       ND_PRINT("\n\tPW Ethernet Control Word");
+                       p += 2;
+                       ND_PRINT(", Sequence Number %u", GET_BE_U_2(p));
+                       p += 2;
+                       length -= 4;
+                       pt = PT_ETHER;
+                       break;
+
                default:
                        /* ok bail out - we did not figure out what it is*/
                        break;
@@ -203,6 +213,10 @@ mpls_print(netdissect_options *ndo, const u_char *bp, 
u_int length)
                isoclns_print(ndo, p, length);
                break;
 
+       case PT_ETHER:
+               ether_print(ndo, p, length, ND_BYTES_AVAILABLE_AFTER(bp), NULL, 
NULL);
+               break;
+
        default:
                break;
        }

--- End Message ---
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to