Skip to contentSkip to conversation

netfilter: ipt_LOG/ip6t_LOG: add option to print decoded MAC header

PATCH New Patrick McHardy 1 participant 1 message Jun 25, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 2/2 netfilter: ipt_LOG/ip6t_LOG: add option to print decoded MAC header

commit a62c48e2d1f217b22384ce61122fcc4af8c0b26f

Author: Patrick McHardy <[email protected]>
Date:   Wed Jun 23 18:10:03 2010 +0200

netfilter: ipt_LOG/ip6t_LOG: add option to print decoded MAC header

The LOG targets print the entire MAC header as one long string, which is not readable very well:

IN=eth0 OUT= MAC=00:15:f2:24:91:f8:00:1b:24:dc:61:e6:08:00 ...

Add an option to decode known header formats (currently just ARPHRD_ETHER devices) in their individual fields:

IN=eth0 OUT= MACSRC=00:1b:24:dc:61:e6 MACDST=00:15:f2:24:91:f8 MACPROTO=0800 ... IN=eth0 OUT= MACSRC=00:1b:24:dc:61:e6 MACDST=00:15:f2:24:91:f8 MACPROTO=86dd ...

The option needs to be explicitly enabled by userspace to avoid breaking existing parsers.

include/linux/netfilter_ipv4/ipt_LOG.h +2 -1
index 90fa652..dcdbadf 100644
@@ -7,7 +7,8 @@
 #define IPT_LOG_IPOPT		0x04	/* Log IP options */
 #define IPT_LOG_UID		0x08	/* Log UID owning local socket */
 #define IPT_LOG_NFLOG		0x10	/* Unsupported, don't reuse */
-#define IPT_LOG_MASK		0x1f
+#define IPT_LOG_MACDECODE	0x20	/* Decode MAC header */
+#define IPT_LOG_MASK		0x2f
 
 struct ipt_log_info {
 	unsigned char level;
include/linux/netfilter_ipv6/ip6t_LOG.h +2 -1
index 0d0119b..9dd5579 100644
@@ -7,7 +7,8 @@
 #define IP6T_LOG_IPOPT		0x04	/* Log IP options */
 #define IP6T_LOG_UID		0x08	/* Log UID owning local socket */
 #define IP6T_LOG_NFLOG		0x10	/* Unsupported, don't use */
-#define IP6T_LOG_MASK		0x1f
+#define IP6T_LOG_MACDECODE	0x20	/* Decode MAC header */
+#define IP6T_LOG_MASK		0x2f
 
 struct ip6t_log_info {
 	unsigned char level;
net/ipv4/netfilter/ipt_LOG.c +40 -14

72 lines not on this page · raw message

net/ipv6/netfilter/ip6t_LOG.c +53 -28

94 lines not on this page · raw message