patch-2.4.20 linux-2.4.20/net/ipv6/netfilter/ip6t_LOG.c
Next file: linux-2.4.20/net/ipv6/netfilter/ip6t_eui64.c
Previous file: linux-2.4.20/net/ipv6/netfilter/ip6_tables.c
Back to the patch index
Back to the overall index
- Lines: 54
- Date:
Thu Nov 28 15:53:15 2002
- Orig file:
linux-2.4.19/net/ipv6/netfilter/ip6t_LOG.c
- Orig date:
Mon Nov 5 09:53:07 2001
diff -urN linux-2.4.19/net/ipv6/netfilter/ip6t_LOG.c linux-2.4.20/net/ipv6/netfilter/ip6t_LOG.c
@@ -112,7 +112,7 @@
printk("FRAG:%u ", ntohs(fhdr->frag_off) & 0xFFF8);
/* Max length: 11 "INCOMPLETE " */
- if (fhdr->frag_off & __constant_htons(0x0001))
+ if (fhdr->frag_off & htons(0x0001))
printk("INCOMPLETE ");
printk("ID:%08x ", fhdr->identification);
@@ -289,12 +289,39 @@
/* MAC logging for input chain only. */
printk("MAC=");
if ((*pskb)->dev && (*pskb)->dev->hard_header_len && (*pskb)->mac.raw != (void*)ipv6h) {
- int i;
- unsigned char *p = (*pskb)->mac.raw;
- for (i = 0; i < (*pskb)->dev->hard_header_len; i++,p++)
+ if ((*pskb)->dev->type != ARPHRD_SIT){
+ int i;
+ unsigned char *p = (*pskb)->mac.raw;
+ for (i = 0; i < (*pskb)->dev->hard_header_len; i++,p++)
printk("%02x%c", *p,
- i==(*pskb)->dev->hard_header_len - 1
- ? ' ':':');
+ i==(*pskb)->dev->hard_header_len - 1
+ ? ' ':':');
+ } else {
+ int i;
+ unsigned char *p = (*pskb)->mac.raw;
+ if ( p - (ETH_ALEN*2+2) > (*pskb)->head ){
+ p -= (ETH_ALEN+2);
+ for (i = 0; i < (ETH_ALEN); i++,p++)
+ printk("%02x%s", *p,
+ i == ETH_ALEN-1 ? "->" : ":");
+ p -= (ETH_ALEN*2);
+ for (i = 0; i < (ETH_ALEN); i++,p++)
+ printk("%02x%c", *p,
+ i == ETH_ALEN-1 ? ' ' : ':');
+ }
+
+ if (((*pskb)->dev->addr_len == 4) &&
+ (*pskb)->dev->hard_header_len > 20){
+ printk("TUNNEL=");
+ p = (*pskb)->mac.raw + 12;
+ for (i = 0; i < 4; i++,p++)
+ printk("%3d%s", *p,
+ i == 3 ? "->" : ".");
+ for (i = 0; i < 4; i++,p++)
+ printk("%3d%c", *p,
+ i == 3 ? ' ' : '.');
+ }
+ }
} else
printk(" ");
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)