svn commit: r255928 - head/sys/netpfil/ipfw
Philip Paeps
philip at FreeBSD.org
Sat Sep 28 15:49:36 UTC 2013
Author: philip
Date: Sat Sep 28 15:49:36 2013
New Revision: 255928
URL: http://svnweb.freebsd.org/changeset/base/255928
Log:
Use the correct EtherType for logging IPv6 packets.
Reviewed by: melifaro
Approved by: re (kib, glebius)
MFC after: 3 days
Modified:
head/sys/netpfil/ipfw/ip_fw_log.c
Modified: head/sys/netpfil/ipfw/ip_fw_log.c
==============================================================================
--- head/sys/netpfil/ipfw/ip_fw_log.c Sat Sep 28 15:46:03 2013 (r255927)
+++ head/sys/netpfil/ipfw/ip_fw_log.c Sat Sep 28 15:49:36 2013 (r255928)
@@ -255,11 +255,18 @@ ipfw_log(struct ip_fw *f, u_int hlen, st
if (args->eh) /* layer2, use orig hdr */
BPF_MTAP2(log_if, args->eh, ETHER_HDR_LEN, m);
- else
+ else {
/* Add fake header. Later we will store
* more info in the header.
*/
- BPF_MTAP2(log_if, "DDDDDDSSSSSS\x08\x00", ETHER_HDR_LEN, m);
+ if (ip->ip_v == 4)
+ BPF_MTAP2(log_if, "DDDDDDSSSSSS\x08\x00", ETHER_HDR_LEN, m);
+ else if (ip->ip_v == 6)
+ BPF_MTAP2(log_if, "DDDDDDSSSSSS\x86\xdd", ETHER_HDR_LEN, m);
+ else
+ /* Obviously bogus EtherType. */
+ BPF_MTAP2(log_if, "DDDDDDSSSSSS\xff\xff", ETHER_HDR_LEN, m);
+ }
LOGIF_RUNLOCK();
#endif /* !WITHOUT_BPF */
return;
More information about the svn-src-all
mailing list