Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id g31GnKO01643 for netdev-outgoing; Mon, 1 Apr 2002 08:49:20 -0800 Received: from mail.gmx.net (sproxy.gmx.de [213.165.64.20]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id g31Gla901612 for ; Mon, 1 Apr 2002 08:47:36 -0800 Received: (qmail 8168 invoked by uid 0); 1 Apr 2002 16:47:14 -0000 Received: from a1as06-p175.stg.tli.de (HELO havana.yon.net) (195.252.187.175) by mail.gmx.net (mp002-rz3) with SMTP; 1 Apr 2002 16:47:14 -0000 Received: from localhost (localhost [127.0.0.1]) by havana.yon.net (8.11.6/8.11.6/SuSE Linux 0.5) with ESMTP id g31HP2O06040; Mon, 1 Apr 2002 19:25:02 +0200 Date: Mon, 1 Apr 2002 19:25:02 +0200 (CEST) From: Yon Uriarte Reply-To: To: K P Muthuvelan cc: , linux netdev Subject: [PATCH] NAT Traversal was: Re: [Design] ipsec_rcv In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="380376598-1361968761-1017681902=:4641" Sender: owner-netdev@oss.sgi.com Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --380376598-1361968761-1017681902=:4641 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, (I'm crossposting this to netdev in the hope to get more answers to my questions. I hope the patch is not considered too big.) GRRRR, I should keep up with the list more often, sheesh, this even came before my 1st announcement. I guess I'm on too many lists. How is your work going? I'll comment a bit on how I've tackled the UDP->FSwan issue: When pluto detects a NATed connection, it will add extra bits (the ports) to the SADB_ADD message. Upon detecting those bits in the function ipsec_sa_put():ipsec_sa.c the matching UDP sock is found (this is always a socket bound to ipsecN_ADDR:500, not *:500) and its data_ready() callback is changed to point to sock_ipsec_natt_readable():ipsec_rcv.c. rationale: * no kernel recompile should be needed * there should be no overhead for UDP socks not owned by pluto and with at least a matching UDP encapsulated tunnel I havent implemented reference counting yet, so once a sock gets changed, it stays that way. sock_ipsec_natt_readable() detects if it is a UDP keepalive (drop) or an UDP-ESP packet (calls ipsec_udp_input). It calls the default sock->data_ready() callback (sock_def_readable) otherwise. In ipsec_udp_input I do basically what you describe further down: * adjust iph->protocol & tot_len * memmove the data 16 bytes forward (overwriting the udp overhead) * [n]h.raw += 16 * skb_pull 16 * ipsec_rcv(skb) I havent implemented error_queue handling yet. There are a series of issues with this delivery scheme: * skb->dev gets sets to NULL in the udp delivery path this; really disturbs ipsec_rcv, so the packets get 'received' on a device stored on the SA (thx mcr for the idea). This means some stats are lost (the ones about errors before we can find the SA) * I'm not sure this is SMP safe. I've tried to hold any lock I could find in struct sock (at least the ones used in the normal data_ready cb). I suspect there is a window in which the packet is enqueued on the sock, the sock is unlocked and we havent yet got the lock on it, so I suspect another CPU might dequeue it for us (the waitqueue on the sock hasnt been 'awakened' (that is what sock_def_readable usually does), but I dont quite expect this to be the only way of initiating sock dequeueing) and deliver it to pluto. This window shold be about 10 simple C statements and a function call. Of course, I cant really pretend to quite understand the code. The udp-encaps receive device is hardcoded to ipsec4 for now. On Sat, 15 Dec 2001, K P Muthuvelan wrote: > This is what I have done in udp_rcv to process UDP encaped IPsec packets > before passing them to netif_rx(). But, how should I adjust > sk_buff->data? > > udp_rcv() > > if the packet is destined for IPsec > determine protocol = ESP/AH AH support is being dropped, from what I've seen in the -01 drafts. > remove UDP header, Non-IKE marker, Non-ESP marker, AH envelop. > skb_trim(skb) Is skb_trim needed? Why care (and waste the cycles)? The skb might expand anyway on decompression? And why should there be space left on the tail? I think moving the ip header'll be cheaper than moving the whole udp payload (wag the payload ;-) > skb->nh.iph->protocol = protocol (ESP/AH) > calculate skb->nh.iph->tot_len > calculate skb->nh.iph->check Is this needed? The csum's been checked already. I cant find a reference to _csum in ipsec_rcv until the packet's already been mangled. > adjust skb->h.raw to point to ESP/AH header? > /* how must I adjust the data pointer? sk_push() */ > > Thanks > Divya Mukundan & KPM > > KPM, > Graduate Student,EECS, > University of Kansas, Lawrence. Some further comments on my patch: It is a slightly linted and only tested for compile snapshot of my working tree. I write comments as I go on, they might or not be actual wrt the code. Specially the comments about the comments might be out of date. It is against 1.96. You will need to apply the small patch to the linux tree (I use 2.4.18 uml if that matters). I've started implementing --ikeport %any to support real anywhere-NATed-RW, but it is not ready yet (it will hit an assert almost always). Support for AH is on the way out. Transport mode is mostly untested, specially I havent used the NAT Original Address yet (it isnt correctly sent to the kernel). Support for the dummy NAT detection is removed. When sending it just insert a bigger 'ESP' header. I tried to keep the changes as unintrusive as possible. Sorry, I've yet to convert all comments to C-Style, // is quicker to type. As always I welcome any comments, suggestions or bug reports. TIA, HAND yon --380376598-1361968761-1017681902=:4641 Content-Type: APPLICATION/x-gunzip; name="diff.natt.2418.apply.gz" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Patch against 2.4.18 Content-Disposition: attachment; filename="diff.natt.2418.apply.gz" H4sICGyWqDwCA2RpZmYubmF0dC4yNDE4LmFwcGx5AM1VbW/bNhD+bP2KA/LF tizbkhXH1bA1qZNuARonqJw1wzAItEjZhGnKICkvBYr99h4lt5XsuOvHGpJo 3stz5PG5I+VZBp7HnlNRUPbr9M+4NiMqXdWm3f9qkz5lWyZpXbI6EnX7mSBL XTdKc5nxZRe8WaFAcFk8e0E/7PuTAZelyUAyM9B5uu6voNiIIHxR5Xie93/u rZgYuGYpBAEMR9H5ODqfQDAc+o7rut/Bbs0LBndEgR+Afx6dh1EYWL/AubwE bzIZ9sbgTiYXPX8Il5cOQHeAHwfYs2FKwi7nFCxSQlmGrzaqSE27GkoFdDu/ OK7jnvEM0IZLRtvT+9nb29+T24f4Zprc3V8/vrvpwKALnz5BNYPXGMZ9MYZi hJKFYM0YPeDSgGDSBjvDg+GZg6tEzFvJDSeCawZprlhpzwzsiOIWRpcbOorE 0SuhxJB6GHTr2rEHjdh6jUHpz8mtgm5PUKvUfJ9ZpUlJrKutgmACw2EUvtoT 5DSxKrcarwI/CsPIr/FqPOldgIvfVyWp9unHI2yhc6LS3de0r5NFgZnFJC8w y4eWPE+NaB+cRsWFdEN7UEjNl8g4ELlcAlHLFzAo15hLyQ5p+wWozDz6eRWH fUuqBoHbFWdfd6BG2gaUDbMLE5Hn62LbLkYBaEKpwvX5Y9DbXBn8i1L6TUor qV0AUqvO6mYAC73hi3LUhhiuDU/137P3yfThMe4G/+CGz6q6g8frh+R2Nk3i +dU8bmecCdppteLZXV3cBOpBZXYCJHnzxwkcqzkB9TPViuUrvvrjRvfTr2xu SI9rpKFuxYWsiD4E34+Ci2g0qoher4+mywdkZOkysi72Cb/Vhj8Obc+1A/LA lsfN08P9+3kS/3X35v5dG0tCFTLJuEAeWD4fqdPVuqbe86Yk74904JdMOrbv g+MehDrsyZamCFKwBVOwxtwvGWS5gtnVHIwiO6Y0ET34l4FkmAKTW34zlbKt rZQNsyyGLbGdVjsu4C+XQEDmakNEqdy3YYInvsKPYGBWbIMw3hqLgiG4zA1C aI0yKDRGRDzWL9Funm1RWQ+7SVKIqj6932yjLzfxsd3Z4ypU2YWmRILCaw2v jkFKhABuHPfp6QnSFcPSxpyaFcdgutwSbgrD2gAyl94mp4WwEJo5ru0NzfQ1 ukKtwl17czVNJePLVWJsjsur6fjY6xapYMQe/WeEzbiE8AgAAA== --380376598-1361968761-1017681902=:4641 Content-Type: APPLICATION/x-gunzip; name="diff.196.rel.gz" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Patch against 1.96 Content-Disposition: attachment; filename="diff.196.rel.gz" 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 ec4WPhSrhfqG+J9Wz3+QqnhOpfy4pTjd5UUeSwcRxpUIxO4JvgqIEA7dU19V VuTqIbLVmfhqKGCuG4cNkw2rTuvZcIE3/sAfdzt53F0a4p0ymGrvpYBP5LhF NLfVNVCwg2m/oLbWf21fAnHaOnd+/XjZKqgs20Rb6FHQkBfyncVF6GQxLKd/ 9a+UYviJR8K1SGriCVQaiVpZrz2blgUGhpSv7SKB1qUO/4QRvp8/wvddj0cX CWouiDHDpBCCU+m5jwi0Q5rICRgTuOU0aFOZUEwCAW2qlaqU+1K0Pq+HAgZz 9ahcde+Ou6TfLBYZqDXB6DNnY/++i2bU9lTtJIDOLCybH0A4Wf0ZACerPwWe Ajf4CXZZhl7Rhte+h2kDm6brJFHIkec/tS0/ethgKf/+HlyMn1X5TxmI9dR9 SCoviS0Y2TlPPuBUfBOeNn/CLnwoPTxhFwqF85SNiK60/7MT/8KdSBAxcKxf opc2DRljNcaGkLHbaEPEYFuiP0/+HraFLSPP7uvoX2vYmfiodopXz9l9Q68g las0TFyyLX/lxhy66Tsz3E5Ppz3WVz9+/MiI/KSHyF5VoM+oNuq7ndsISYEU Eqv6VFija2PDVvh7odtqYYpSkwskkapUYlCkORt8NG9AaXUxoippFVCNoZLm GIc0mTVKTkjuWgKjNGdoi/xSypuf4nc1Emdht/XZWUhPzS8uO7nMaCEOAotI HqwVs4navWublRpQzXqYyZnHFjxnVjtT9r0bFF/Dx10bapoCCVS0iB7T1CuV G03GUMe1M8kH6CcP1gby1IuZ6Q3iFdJDw+u6N7ksPrr9AcJdICxpnzAX0OzN NnJHGbLCcoxW+XcWk1vx1ldG9A/F96ZMeivphhaU6U9BkWezWP+MujFpLpG8 KhwmSrZHw7CmdJG7wovouwhxohhWVW4PuTTYFQ87cDCFwVU1In1A2qIwpqz8 tllt4MNms7ElM5XJJEdkhfCbVui+ClDmpk1v+91Btz/tZ43ssaDQuS6rmVmj LA9a6SXOs/Hw1kUU91ca0aW4qPqeO77RtaN90nV3krU8LafWvvYdhdL0wsQa znxa2ZajOuyGGA5GO8siSJlKveS1ToFOGnnpkr7cPEZFJFnKO7eW9s7Vyec+ c2vlQk2tkVdeXAv4Gh8PaFuLlb1jKfORT3rsryQj7VMyjUmNplJi6un8+ic1 wlVWZ1ngeYxwe/qjHgMBy5XA7pZp9lD5mwpfl1LhdEypX6uxp9TPB9oiKFmc nQrPTjUyO5U5aLDRwd9ANNh6hCdRXTpzgs20wWaXxkOgdDpEcoUydmcqVpF4 hk4MK99Ci63dRRwoe+SXA3hieKcoZylssyOifcdR+u5/9n8AggWswwVXAQA= --380376598-1361968761-1017681902=:4641--