Problem with the first ICMP_REDIRECT message

flat view

From: Li Wei <hidden>
Date: 2011-11-30 03:10:41

Hi all, 

I am doing some tests on ICMP_REDIRECT messages and found that I never receive
the first ICMP_REDIRECT message, but the following REDIRECT messages was normal.

My test environment as follow:
three pc:
PC A:
	IP: 192.168.0.1 MAC: HW:0A
PC B:
	IP: 192.168.0.2 MAC: HW:0B
	module nf_nat loaded and at least one rule in nat table(rule content not concern)
PC C:
	IP: 192.168.0.3 MAC: HW:0C

enable ip forwarding on PC B:
# echo 1 > /proc/sys/net/ipv4/ip_forward

add a static arp on PC A:
# arp -s 192.168.0.3 HW:0B

ping 192.168.0.3 on PC A:
# ping -c1 192.168.0.3

I expect that PC A will receive a ICMP_REDIRECT message from PC B, but nothing
received.

ping three times 192.168.0.3 on PC A:
# ping -c3 192.168.0.3 

PC A got two ICMP_REDIRECT messages from PC B, the first one missing.

After some code search, I found in function nf_nat_icmp_reply_translation() the first
ICMP_REDIRECT message was droped because the ct->status is not IPS_NAT_DONE_MASK.


Does anyone has some suggestion?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help