- /* We printed the Ethernet destination and source addresses already */
- save_eflag = ndo->ndo_eflag;
- ndo->ndo_eflag = 0;
-
- /* Parse the rest of the Ethernet header, and the frame payload,
- * telling ether_hdr_len_print() how big the non-standard Ethernet
- * header is.
- *
- * +-----------+-----------+---------------------+--------------+
- * | MAC DA (6)| MAC SA (6)|DSA/EDSA tag (taglen)|Type/Length(2)|
- * +-----------+-----------+---------------------+--------------+
- */
- ret = ether_hdr_len_print(ndo, p, h->len, h->caplen, NULL, NULL,
- 2*MAC_ADDR_LEN + taglen + 2);
+static void
+dsa_tag_print(netdissect_options *ndo, const u_char *bp)
+{
+ if (ndo->ndo_eflag)
+ ND_PRINT("Marvell DSA ");
+ else
+ ND_PRINT("DSA ");
+ tag_common_print(ndo, bp);
+}