I have a WDS link set up between two OpenWRT routers (both running linux 2.6.32.27) which is working 99.5% of the time. What I have observed though is that for a certain traffic pattern, some packets from the WDS "client" to the WAP will be dropped. And the same packets are dropped every time for the same, repeated traffic pattern. To demonstrate, observe the following two tcpdump outputs. The first one is on the wlan0 interface of the WAP that has the machine 10.75.22.8 attached to it: 07:52:22.384590 ARP, Request who-has 10.75.22.3 tell 10.75.22.7, length 46 07:52:22.386280 ARP, Reply 10.75.22.3 is-at 00:1f:c6:c4:92:6a, length 46 07:52:50.886934 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:52:50.898629 IP 10.75.22.7.5061 > 10.75.22.8.5060: SIP, length: 405 07:52:51.237342 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:52:51.248542 IP 10.75.22.7.5060 > 10.75.22.8.5060: SIP, length: 406 07:52:51.886604 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:52:51.898423 IP 10.75.22.7.5061 > 10.75.22.8.5060: SIP, length: 405 07:52:52.236755 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:52:52.248264 IP 10.75.22.7.5060 > 10.75.22.8.5060: SIP, length: 406 07:52:52.889511 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:52:52.900097 IP 10.75.22.7.5061 > 10.75.22.8.5060: SIP, length: 405 07:52:53.237169 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:52:53.248262 IP 10.75.22.7.5060 > 10.75.22.8.5060: SIP, length: 406 07:52:53.886426 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:52:53.898475 IP 10.75.22.7.5061 > 10.75.22.8.5060: SIP, length: 405 07:52:54.236719 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:52:54.248371 IP 10.75.22.7.5060 > 10.75.22.8.5060: SIP, length: 406 07:52:55.893321 ARP, Request who-has 10.75.22.8 tell 10.75.22.7, length 46 07:52:55.894993 ARP, Reply 10.75.22.8 is-at 00:1f:c6:c4:92:6a, length 46 07:53:03.900624 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:53:03.911426 IP 10.75.22.7.5061 > 10.75.22.8.5060: SIP, length: 405 07:53:04.251006 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:53:04.261785 IP 10.75.22.7.5060 > 10.75.22.8.5060: SIP, length: 406 This second dump is the WDS client which has 10.75.22.7 attached to it. 07:52:22.395846 ARP, Request who-has 10.75.22.3 tell 10.75.22.7, length 46 07:52:22.396162 ARP, Reply 10.75.22.3 is-at 00:1f:c6:c4:92:6a, length 46 07:52:50.896432 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:52:51.246838 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:52:51.896097 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:52:52.246233 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:52:52.895512 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:52:53.246649 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:52:53.895898 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:52:53.909528 IP 10.75.22.7.5061 > 10.75.22.8.5060: SIP, length: 405 07:52:54.246180 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:52:54.259596 IP 10.75.22.7.5060 > 10.75.22.8.5060: SIP, length: 406 07:52:55.904269 ARP, Request who-has 10.75.22.8 tell 10.75.22.7, length 46 07:52:55.904553 ARP, Reply 10.75.22.8 is-at 00:1f:c6:c4:92:6a, length 46 07:53:03.909995 IP 10.75.22.8.5060 > 10.75.22.7.5061: SIP, length: 546 07:53:03.922490 IP 10.75.22.7.5061 > 10.75.22.8.5060: SIP, length: 405 07:53:04.260380 IP 10.75.22.8.5060 > 10.75.22.7.5060: SIP, length: 548 07:53:04.272948 IP 10.75.22.7.5060 > 10.75.22.8.5060: SIP, length: 406 10.75.22.8 and 10.75.22.3 are the same machine, just using multiple IP addresses as "service" addresses. So as you can see in the first two packets of both dumps, there is a successful round trip across the WDS link. A number of seconds later, 10.75.22.8 sends some packets across the WDS link to 10.75.22.7 which are all successfully received across the link and 10.75.22.7 responds to them, trying to send packets back to 10.75.22.8 but those fail to reach the WAP where 10.75.22.8 is. This happens 6 times, and then magically, the 7th time, the return traffic makes it and then it continues to make it fully round trip until this pattern starts all over again, It is worth mentioning that this period of time where those packets are being dropped, other traffic between those two hosts is wholly successful. While this packet dropping is happening, 10.75.22.3 is successfully pinging 10.75.22.7 at a 1 second interval and not a single ICMP packet is dropped. Any thoughts as to what is going on with this specific traffic being dropped? Thanx, b.
Attachment:
signature.asc
Description: OpenPGP digital signature