<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6255518362806124220</id><updated>2011-05-04T01:03:24.269-07:00</updated><category term='android'/><category term='luck'/><category term='networks'/><title type='text'>Gaurav Tungatkar's web log!</title><subtitle type='html'>Mostly technical log of stuff I do as part of my projects..</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gauravtungatkar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gauravtungatkar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>stargazr</name><uri>http://www.blogger.com/profile/08438320131850826661</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6255518362806124220.post-2850077377793180518</id><published>2011-04-04T07:53:00.001-07:00</published><updated>2011-04-04T07:57:16.500-07:00</updated><title type='text'>Recalculating TCP and IP checksums in netfilter modules</title><content type='html'>Here is how you recalculate ip and tcp checksums if your netfilter kernel module tinkers with packets. &lt;br /&gt;&lt;br /&gt;TCP-&gt;&lt;br /&gt; len = skb-&gt;len;&lt;br /&gt; th-&gt;check = 0;&lt;br /&gt;       th-&gt;check = tcp_v4_check(len - 4*iph-&gt;ihl,&lt;br /&gt;                                iph-&gt;saddr, iph-&gt;daddr,&lt;br /&gt;                                csum_partial((char *)th, len-4*iph-&gt;ihl,&lt;br /&gt;0));&lt;br /&gt;&lt;br /&gt;IP-&gt;&lt;br /&gt;  iph-&gt;check = 0;&lt;br /&gt;  iph-&gt;check = ip_fast_csum((u8 *)iph, iph-&gt;ihl);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6255518362806124220-2850077377793180518?l=gauravtungatkar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gauravtungatkar.blogspot.com/feeds/2850077377793180518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6255518362806124220&amp;postID=2850077377793180518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/2850077377793180518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/2850077377793180518'/><link rel='alternate' type='text/html' href='http://gauravtungatkar.blogspot.com/2011/04/recalculating-tcp-and-ip-checksums-in.html' title='Recalculating TCP and IP checksums in netfilter modules'/><author><name>stargazr</name><uri>http://www.blogger.com/profile/08438320131850826661</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6255518362806124220.post-7045069491373005596</id><published>2011-03-23T14:18:00.001-07:00</published><updated>2011-03-23T14:18:54.771-07:00</updated><title type='text'>Iptables and firewall!</title><content type='html'>Here is a very good tutorial on Iptables and how to setup a firewall and NAT with it.&lt;br /&gt;&lt;a href="http://"&gt;http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6255518362806124220-7045069491373005596?l=gauravtungatkar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gauravtungatkar.blogspot.com/feeds/7045069491373005596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6255518362806124220&amp;postID=7045069491373005596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/7045069491373005596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/7045069491373005596'/><link rel='alternate' type='text/html' href='http://gauravtungatkar.blogspot.com/2011/03/iptables-and-firewall.html' title='Iptables and firewall!'/><author><name>stargazr</name><uri>http://www.blogger.com/profile/08438320131850826661</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6255518362806124220.post-4465720350039252717</id><published>2011-02-23T08:42:00.000-08:00</published><updated>2011-02-23T08:49:11.595-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='networks'/><title type='text'>TCP timers</title><content type='html'>Timers in TCP- Apparently TCP in linux uses a single timer that times the oldest packet in the window. So rest of the packets in the window get additional advantage in terms of timeout. &lt;br /&gt;Here is the timer wheel concept as used in some other OSes.&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/aix/library/au-lowertime/index.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6255518362806124220-4465720350039252717?l=gauravtungatkar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gauravtungatkar.blogspot.com/feeds/4465720350039252717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6255518362806124220&amp;postID=4465720350039252717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/4465720350039252717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/4465720350039252717'/><link rel='alternate' type='text/html' href='http://gauravtungatkar.blogspot.com/2011/02/tcp-timers.html' title='TCP timers'/><author><name>stargazr</name><uri>http://www.blogger.com/profile/08438320131850826661</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6255518362806124220.post-1974349870587537495</id><published>2011-02-23T08:36:00.000-08:00</published><updated>2011-02-23T08:38:29.400-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Custom kernel development for android</title><content type='html'>Here is a tutorial on building a kernel and running a custom kernel for the android emulator..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/android-kernel/browse_thread/thread/2ac261484cb81352"&gt;http://groups.google.com/group/android-kernel/browse_thread/thread/2ac261484cb81352&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6255518362806124220-1974349870587537495?l=gauravtungatkar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gauravtungatkar.blogspot.com/feeds/1974349870587537495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6255518362806124220&amp;postID=1974349870587537495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/1974349870587537495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/1974349870587537495'/><link rel='alternate' type='text/html' href='http://gauravtungatkar.blogspot.com/2011/02/custom-kernel-development-for-android.html' title='Custom kernel development for android'/><author><name>stargazr</name><uri>http://www.blogger.com/profile/08438320131850826661</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6255518362806124220.post-2966643855165650940</id><published>2011-02-23T08:33:00.000-08:00</published><updated>2011-02-23T08:35:51.408-08:00</updated><title type='text'>modules in android goldfish</title><content type='html'>Here is a short tutorial on compiling and loading modules in the android goldfish kernel.&lt;br /&gt;&lt;a href="http://www.mail-archive.com/android-kernel@googlegroups.com/msg00770.html"&gt;http://www.mail-archive.com/android-kernel@googlegroups.com/msg00770.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6255518362806124220-2966643855165650940?l=gauravtungatkar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gauravtungatkar.blogspot.com/feeds/2966643855165650940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6255518362806124220&amp;postID=2966643855165650940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/2966643855165650940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/2966643855165650940'/><link rel='alternate' type='text/html' href='http://gauravtungatkar.blogspot.com/2011/02/modules-in-android-goldfish.html' title='modules in android goldfish'/><author><name>stargazr</name><uri>http://www.blogger.com/profile/08438320131850826661</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6255518362806124220.post-2488441513596493178</id><published>2011-02-23T06:36:00.000-08:00</published><updated>2011-02-23T08:32:22.751-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='networks'/><title type='text'>A good book for understanding the TCP/IP stack in Linux</title><content type='html'>TCP/IP Architecture, Design and Implementation in Linux&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6255518362806124220-2488441513596493178?l=gauravtungatkar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gauravtungatkar.blogspot.com/feeds/2488441513596493178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6255518362806124220&amp;postID=2488441513596493178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/2488441513596493178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/2488441513596493178'/><link rel='alternate' type='text/html' href='http://gauravtungatkar.blogspot.com/2011/02/good-book-for-understanding-tcpip-stack.html' title='A good book for understanding the TCP/IP stack in Linux'/><author><name>stargazr</name><uri>http://www.blogger.com/profile/08438320131850826661</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6255518362806124220.post-2233741992401260687</id><published>2008-11-08T22:55:00.000-08:00</published><updated>2008-11-10T10:59:57.886-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='luck'/><title type='text'>The thing about luck..</title><content type='html'>&lt;div style="text-align: justify;"&gt;I just had a gruelling (:P) practical exam. it was a combo of 3 theory subjects..The discussions before and after the exam typically revolve around how luck favoured some while some got really unlucky..like i-got-zombie-assignment-done-in-5-min to i-got-intermediate-code-changed :P :) Even i am a part of these animated discussions..&lt;br /&gt;These discussions set met thinking about that thing called "luck". Sometimes it does appear that some people have it very easy while some have to struggle in spite of working hard. But should we be blaming luck.. Is there anything like being-completely-fair..Even fortune favours the brave..When we cringe about bad luck, do we remember our share of those moments when we got really lucky..Or is good luck passed off as a-just-reward-for-my-hard work :) If we keep a count of good-luck and bad-luck moments, would both sides match..I think so..Only the timing of that lucky and unlucky moment differs.Should we take recourse to bad luck as an explanation to our poor performance or should we just accept that we should have worked harder. PU vice-chancellor Narendra Jadhav says-everything that he wanted,he achieved it by himself and his own hard work.There were no strokes of luck..(credits to hardik for telling me about this). It will all even out in the end..those who struggle harder now may go on to achieve greater heights later..Those who got unlucky this time may have got damned lucky some other important time.. So no more blaming luck for me..I am gonna accept whatever come my way with equanimity..:) :D :P&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6255518362806124220-2233741992401260687?l=gauravtungatkar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gauravtungatkar.blogspot.com/feeds/2233741992401260687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6255518362806124220&amp;postID=2233741992401260687' title='47 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/2233741992401260687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6255518362806124220/posts/default/2233741992401260687'/><link rel='alternate' type='text/html' href='http://gauravtungatkar.blogspot.com/2008/11/thing-about-luck.html' title='The thing about luck..'/><author><name>stargazr</name><uri>http://www.blogger.com/profile/08438320131850826661</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>47</thr:total></entry></feed>
