Date: Tue, 13 Jul 2021 11:30:28 GMT From: Kristof Provost <kp@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 3f240bdf3652 - main - tcpdump: decode packets on pfsync interfaces Message-ID: <202107131130.16DBUSEd099335@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=3f240bdf3652ea823af34b0f399e2c8be5a6320a commit 3f240bdf3652ea823af34b0f399e2c8be5a6320a Author: Luiz Otavio O Souza <loos@FreeBSD.org> AuthorDate: 2021-07-12 17:15:15 +0000 Commit: Kristof Provost <kp@FreeBSD.org> CommitDate: 2021-07-13 11:29:52 +0000 tcpdump: decode packets on pfsync interfaces Reviewed by: kp, scottl Obtained from: pfsense MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31153 --- contrib/tcpdump/netdissect.h | 1 + contrib/tcpdump/print-pfsync.c | 15 +++++++-------- contrib/tcpdump/print.c | 3 +++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/contrib/tcpdump/netdissect.h b/contrib/tcpdump/netdissect.h index 20b5ef63668c..8612e11c3c7e 100644 --- a/contrib/tcpdump/netdissect.h +++ b/contrib/tcpdump/netdissect.h @@ -571,6 +571,7 @@ extern int ospf_print_grace_lsa(netdissect_options *, const uint8_t *, u_int); extern int ospf_print_te_lsa(netdissect_options *, const uint8_t *, u_int); extern void otv_print(netdissect_options *, const u_char *, u_int); extern void pfsync_ip_print(netdissect_options *, const u_char *, u_int); +extern u_int pfsync_if_print(netdissect_options *, const struct pcap_pkthdr *, const u_char *); extern void pgm_print(netdissect_options *, const u_char *, u_int, const u_char *); extern void pim_print(netdissect_options *, const u_char *, u_int, const u_char *); extern void pimv1_print(netdissect_options *, const u_char *, u_int); diff --git a/contrib/tcpdump/print-pfsync.c b/contrib/tcpdump/print-pfsync.c index 62913337e527..dc1cd039f5b0 100644 --- a/contrib/tcpdump/print-pfsync.c +++ b/contrib/tcpdump/print-pfsync.c @@ -57,30 +57,29 @@ static void print_src_dst(netdissect_options *, const struct pfsync_state_peer *, uint8_t); static void print_state(netdissect_options *, struct pfsync_state *); -#ifdef notyet -void -pfsync_if_print(u_char *user, const struct pcap_pkthdr *h, +u_int +pfsync_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, register const u_char *p) { u_int caplen = h->caplen; - ts_print(&h->ts); + ts_print(ndo, &h->ts); if (caplen < PFSYNC_HDRLEN) { ND_PRINT((ndo, "[|pfsync]")); goto out; } - pfsync_print((struct pfsync_header *)p, + pfsync_print(ndo, (struct pfsync_header *)p, p + sizeof(struct pfsync_header), caplen - sizeof(struct pfsync_header)); out: - if (xflag) { - default_print((const u_char *)p, caplen); + if (ndo->ndo_xflag) { + hex_print(ndo, "\n\t", p, caplen); } safeputchar(ndo, '\n'); + return (caplen); } -#endif /* notyet */ void pfsync_ip_print(netdissect_options *ndo , const u_char *bp, u_int len) diff --git a/contrib/tcpdump/print.c b/contrib/tcpdump/print.c index c76f34411778..e5436f4d738f 100644 --- a/contrib/tcpdump/print.c +++ b/contrib/tcpdump/print.c @@ -121,6 +121,9 @@ static const struct printer printers[] = { #endif #if defined(DLT_PFLOG) && defined(HAVE_NET_IF_PFLOG_H) { pflog_if_print, DLT_PFLOG }, +#endif +#if defined(DLT_PFSYNC) && defined(HAVE_NET_PFVAR_H) + { pfsync_if_print, DLT_PFSYNC}, #endif { token_if_print, DLT_IEEE802 }, { fddi_if_print, DLT_FDDI },
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107131130.16DBUSEd099335>