ipip and nexthdr

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 After carefull reading (LARTC) and experimentation, I am in a dead
end...

 I am using several IPIP tunnels (linux ipip module, IP protocol 4).

 I'd like to filter packets going through these tunnes to different
classes, on the ingress device, based on source and destination IP
_INSIDE THE TUNNEL_.

 First I tried the nexthdr bit. As explained in LARTC, nexthdr jumps to
the next header in the packet, so I figured if it works for TCP, it
should also work for IP in IP, but it didn't. 

 I looked at some ICMP echo request/reply packets with tcpdump dumping
packet contents in hex. 
The IP header is 20 bytes. I tried the following:

a.b.c.d is an IP inside the tunnel.

tc filter ... u32 match ip src a.b.c.d at nexthdr+0
I assumed this would go to the inner ip header, ip src will set the
correct offset. WRONG.
tc filter ... u32 match ip src a.b.c.d at nexthdr+12
This should point to the source address in the IP header, in the next
header = the tunnel.
WRONG. 

tc filter ... u32 match 0xaabbccdd 0xffffffff at 32 
CORRECT. this correctly matches the source ip inside the tunnel

I browsed a lot inside the source of tc (from iproute) but how nexthdr
works is still unclear to me.

However, I'd like to be able to make the filter selections with ip src,
ip dst sport, dport inside the tunnel, before decapsulation.


-- 
ing. Andrei Boros
mailto:andrei@srr.ro / +40-21-303-1870
Centrul pt. Tehnologia Informatiei
Societatea Romana de Radiodifuziune
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux