Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Sep 2013 15:49:36 +0000 (UTC)
From:      Philip Paeps <philip@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r255928 - head/sys/netpfil/ipfw
Message-ID:  <201309281549.r8SFnamK064053@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309281549.r8SFnamK064053>