<p dir="ltr"></p>
<p dir="ltr">On Saturday, May 3, 2014, Rami Rosen &lt;<a href="mailto:roszenrami@gmail.com">roszenrami@gmail.com</a>&gt; wrote:<br>
&gt; Hi, Pranay,<br>
&gt;<br>
&gt; First, let&#39;s assume that you are talking about IPv4, though you did not<br>
&gt; mention it explicitly. (The principles in IPv6 are quite similar, though)<br>
&gt;<br>
&gt; A packet is sent out in the usual case with the ip_queue_xmit() method.<br>
&gt; The  ip_queue_xmit() method calls the ip_route_output_ports() method<br>
&gt; in order to perform a lookup in the IPv4 routing tables.<br>
&gt;<br>
&gt; see: <a href="http://lxr.free-electrons.com/source/net/ipv4/ip_output.c#L352">http://lxr.free-electrons.com/source/net/ipv4/ip_output.c#L352</a><br>
&gt;<br>
&gt; The results of this IPv4 routing lookup determines on which network device<br>
&gt; (net_device) the packet will be sent. You should look at the code of<br>
&gt; ip_route_output_ports() method in net/ipv4/route.c in order to<br>
&gt; understand the IPv4 routing subsystem and the IPv4 routing lookup.<br>
&gt;<br>
&gt; Packets can, under certain circumstances, be sent by the ip_send_skb()<br>
&gt; method, but this happens when the flow (which consists also of the<br>
&gt; net_device to be used) is known before.<br>
&gt;<br>
&gt; Best Regards,<br>
&gt; Rami Rosen<br>
&gt; <a href="http://ramirose.wix.com/ramirosen">http://ramirose.wix.com/ramirosen</a><br>
&gt;<br>
&gt;<br>
&gt; On Sat, May 3, 2014 at 11:33 AM, Pranay Srivastava &lt;<a href="mailto:pranjas@gmail.com">pranjas@gmail.com</a>&gt; wrote:<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; This is probably a stupid question, but i&#39;m not able to find the<br>
&gt;&gt; answer. How does the networking subsystem decides which device to use<br>
&gt;&gt; for sending the skb. Can some one please guide me to the particular<br>
&gt;&gt; code. I seem to get lost in there :(<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt;         ---P.K.S<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Kernelnewbies mailing list<br>
&gt;&gt; <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
&gt;&gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
&gt;<br>
Thanks a lot Professor. It will take some time to digest all of it.  The book and slides are great resource. Could you also answer my queries on net_device structure as well?<br>
</p>