Fragment handling

Post new topic   Reply to topic    DD-WRT Forum Index -> Advanced Networking
Author Message
cuthbei
DD-WRT Novice


Joined: 23 Nov 2010
Posts: 2

PostPosted: Tue Nov 23, 2010 13:34    Post subject: Fragment handling Reply with quote
Hi,

I have just switched ISP and have an odd situation where my Vodafone Sure Signal femtocell won't now connect. When I dump the traffic on the inside of my DD-WRT V24-SP2 I see

oot@OldTimbers:~# tcpdump -vv -i br0 port 4500
tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 68 bytes
12:10:22.669578 IP (tos 0xb8, ttl 64, id 11546, offset 0, flags [none], proto UDP (17), length 29) 192.168.202.109.4500 > host212-183-133-179.uk.access.vodafone.net.4500: [udp sum ok] isakmp-nat-keep-alive
12:10:26.249781 IP (tos 0xb8, ttl 64, id 11547, offset 0, flags [none], proto UDP (17), length 476) 192.168.202.109.4500 > host212-183-133-179.uk.access.vodafone.net.4500: NONESP-encap: [|isakmp]

As can be seen, the Sure Signal box is trying to create an IPSec NAT-T connection on UDP port 4500.

The response never makes it back through the router though. On the outside I can see

tcpdump: listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 68 bytes
12:10:22.669917 IP (tos 0xb8, ttl 63, id 11546, offset 0, flags [none], proto UDP (17), length 29) 109-224-xxx-xxx.bb.adsl24.co.uk.4500 > host212-183-133-179.uk.access.vodafone.net.4500: [udp sum ok] isakmp-nat-keep-alive
12:10:26.250153 IP (tos 0xb8, ttl 63, id 11547, offset 0, flags [none], proto UDP (17), length 476) 109-224-xxx-xxx.bb.adsl24.co.uk.4500 > host212-183-133-179.uk.access.vodafone.net.4500: NONESP-encap: [|isakmp]
12:10:26.371451 IP (tos 0x0, ttl 245, id 13388, offset 1480, flags [none], proto UDP (17), length 1012) host212-183-133-179.uk.access.vodafone.net > 109-224-136-20.bb.adsl24.co.uk: udp

The third packet is of interest, it is the response from Vodafone. You can see it has a fragment offset of 1480, which means it is the 2nd packet of a fragmented stream. It has no flags set

12:10:26.371451 IP (tos 0x0, ttl 245, id 13388, offset 1480, flags [none], proto UDP (17), length 1012) host212-183-133-179.uk.access.vodafone.net > 109-224-136-20.bb.adsl24.co.uk: udp

This would be OK if I had a packet before this one from VF with an offset of 0 but a flag of + (more fragments). It appears, something is fragmenting the packets between VF and my DD-WRT.

Does anyone know if it is normal fr DD-WRT not to pass this single fragement? I.e. Is it likely to be waiting for all fragments before sending them?

I have tried to enable logging on the firewall to check for any drops, but don't see anything specific.

Any advice on how to troubleshoot this connection is appreciated.

Thanks, Ian
Sponsor
cuthbei
DD-WRT Novice


Joined: 23 Nov 2010
Posts: 2

PostPosted: Mon Nov 29, 2010 22:36    Post subject: Reply with quote
Sadly replying to my own post.

I found the problem and it appears to be an MTU negotiation failure over the PPPoE / PPPoA link between DD-WRT and my ISP. As this link passes through a Draytek Vigor 120, I'm fairly confident this is to blame.

The Draytek must drop the 1500 byte fragment / packet which is set from Vodafone back to me, as it doesn't have enough space for it with the PPPoE header.
deanbag
DD-WRT Novice


Joined: 03 Aug 2011
Posts: 1

PostPosted: Sun Aug 21, 2011 15:23    Post subject: Reply with quote
I'm having a similar problem with a Femtocell supplied by my telco Optus in Australia. a tcpdump on port 4500 shows something slightly different:

Code:
root@DD-WRT:~# tcpdump -vv -i br0 port 4500
tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 68 bytes
00:46:42.775371 IP (tos 0xb8, ttl 64, id 62367, offset 0, flags [none], proto UDP (17), length 29)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: [udp sum ok] isakmp-nat-keep-alive
00:46:47.942390 IP (tos 0xb8, ttl 64, id 62368, offset 0, flags [none], proto UDP (17), length 108)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: NONESP-encap: [|isakmp]
00:46:48.055810 IP (tos 0x4, ttl 245, id 42104, offset 0, flags [none], proto UDP (17), length 124)
    initial-ipsecrouter.O-Zone.optusnet.com.au.4500 > Femto.4500: NONESP-encap: [|isakmp]
00:47:12.780453 IP (tos 0xb8, ttl 64, id 62369, offset 0, flags [none], proto UDP (17), length 29)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: [udp sum ok] isakmp-nat-keep-alive
00:47:14.334113 IP (tos 0xc0, ttl 64, id 62370, offset 0, flags [none], proto UDP (17), length 136)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: [no cksum] UDP-encap: ESP(spi=0x10236bb9,seq=0x6b), length 108
00:47:14.517893 IP (tos 0x4, ttl 243, id 44211, offset 0, flags [none], proto UDP (17), length 136)
    initial-ipsecrouter.O-Zone.optusnet.com.au.4500 > Femto.4500: UDP-encap: ESP(spi=0xced80553,seq=0x5d), length 108
00:47:17.947010 IP (tos 0xb8, ttl 64, id 62371, offset 0, flags [none], proto UDP (17), length 108)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: NONESP-encap: [|isakmp]
00:47:18.032654 IP (tos 0x4, ttl 245, id 44462, offset 0, flags [none], proto UDP (17), length 124)
    initial-ipsecrouter.O-Zone.optusnet.com.au.4500 > Femto.4500: NONESP-encap: [|isakmp]
00:47:42.787352 IP (tos 0xb8, ttl 64, id 62372, offset 0, flags [none], proto UDP (17), length 29)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: [udp sum ok] isakmp-nat-keep-alive
00:47:47.950637 IP (tos 0xb8, ttl 64, id 62373, offset 0, flags [none], proto UDP (17), length 108)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: NONESP-encap: [|isakmp]
00:47:48.061552 IP (tos 0x4, ttl 245, id 46835, offset 0, flags [none], proto UDP (17), length 124)
    initial-ipsecrouter.O-Zone.optusnet.com.au.4500 > Femto.4500: NONESP-encap: [|isakmp]
00:48:12.794871 IP (tos 0xb8, ttl 64, id 62374, offset 0, flags [none], proto UDP (17), length 29)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: [udp sum ok] isakmp-nat-keep-alive
00:48:17.959018 IP (tos 0xb8, ttl 64, id 62375, offset 0, flags [none], proto UDP (17), length 108)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: NONESP-encap: [|isakmp]
00:48:18.124470 IP (tos 0x4, ttl 245, id 49217, offset 0, flags [none], proto UDP (17), length 124)
    initial-ipsecrouter.O-Zone.optusnet.com.au.4500 > Femto.4500: NONESP-encap: [|isakmp]
00:48:20.334099 IP (tos 0xc0, ttl 64, id 62376, offset 0, flags [none], proto UDP (17), length 136)
    Femto.4500 > initial-ipsecrouter.O-Zone.optusnet.com.au.4500: [no cksum] UDP-encap: ESP(spi=0x10236bb9,seq=0x6c), length 108
00:48:20.422182 IP (tos 0x4, ttl 243, id 6269, offset 0, flags [none], proto UDP (17), length 136)
    initial-ipsecrouter.O-Zone.optusnet.com.au.4500 > Femto.4500: UDP-encap: ESP(spi=0xced80553,seq=0x5e), length 108


has anyone been able to get a Femtocell working?
MrFidget
DD-WRT User


Joined: 15 Jul 2010
Posts: 378

PostPosted: Mon Aug 22, 2011 1:20    Post subject: Reply with quote
Has anyone been able to get (dr)Optus working Confused

I must admit, I cheated and got one of those prepaid Telstra NextG battery wifi routers from JB. At least I got decent speed / coverage.

No they dont do DD-WRT, but I would be keen to see it Very Happy Very Happy Very Happy
Cheers
Chris
Display posts from previous:    Page 1 of 1
Post new topic   Reply to topic    DD-WRT Forum Index -> Advanced Networking All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum