]> The Tcpdump Group git mirrors - tcpdump/commitdiff
If we print something as an OAM cell, we're done with it, so just return.
authorguy <guy>
Mon, 24 Jan 2005 03:27:26 +0000 (03:27 +0000)
committerguy <guy>
Mon, 24 Jan 2005 03:27:26 +0000 (03:27 +0000)
Note that sometimes we appear to be mis-dissecting something as an OAM
cell.

print-juniper.c

index 349caa4ccb548fb506f0595891cbe8226b49f292..e806eff2c79059bd38476f40de4ae020b844f93b 100644 (file)
@@ -15,7 +15,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
 
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-juniper.c,v 1.3 2004-10-28 09:36:16 hannes Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-juniper.c,v 1.4 2005-01-24 03:27:26 guy Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -81,7 +81,10 @@ juniper_atm1_print(const struct pcap_pkthdr *h, register const u_char *p)
         caplen-=4;
 
         if (cookie1 & 0x80000000) { /* OAM cell ? */
         caplen-=4;
 
         if (cookie1 & 0x80000000) { /* OAM cell ? */
+            /* XXX - at least some packets are mis-identified as OAM
+               cells by this test */
             oam_print(p,length);
             oam_print(p,length);
+            return 0;
         }
 
         if (EXTRACT_24BITS(p) == 0xfefe03 || /* NLPID encaps ? */
         }
 
         if (EXTRACT_24BITS(p) == 0xfefe03 || /* NLPID encaps ? */