Aijaz, great! Now it' clear. Thank you. It remains a problem: the meaning of fl.nl_u.ip4_u.saddr = 0 But, first of all: - we know that a routing table doesn't contain the ip source - but the routing cache contains it. so my first question is: why routing cache has it and routing cache not? what it its usage? Then my second question: the meaning of fl.nl_u.ip4_u.saddr = 0 thank you very much On Fri, Sep 17, 2010 at 7:40 AM, AIJAZ BAIG <aijazbaig1@xxxxxxxxx> wrote: > Hi there, > > Well..if u see the code, ull see that ip_route_output_key is a wrapper > around ip_route_output_flow which in turn internally calls > __ip_route_output_key. This later function tries to find a route for a > packet first by looking up the routing cache and then if it isnt found > there it constructs a cache entry by calling its slow counterpart > which is ip_route_output_slow. > > Now, the name tells u a lot. First ip_route_output_key tells u that > this function 'routes' an 'output' packet. An output packet normally > means that the packet is a locally generated packet. The routing (L3) > protocol being used is ip (ipv4 specifically) and key tells us that we > are specifying the key to be used to check the routing cache (since > the cache is organized as a hash and it needs a key to retrieve an > entry). > > Thus all in all, the ip_route_output_key function is used to get a > route for an output packet either from the routing cache if an entry > is present or create one and update the cache accordingly. > > Hope it helped. > > Regards, > Aijaz > > On 9/17/10, Nicola Padovano <nicola.padovano@xxxxxxxxx> wrote: >> ok, let's step back... >> what's the task of ip_route_output_key function ? >> >> -- >> Nicola Padovano >> e-mail: nicola.padovano@xxxxxxxxx >> web: http://npadovano.altervista.org >> -- >> To unsubscribe from this list: send the line "unsubscribe netfilter-devel" >> in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > -- Nicola Padovano e-mail: nicola.padovano@xxxxxxxxx web: http://npadovano.altervista.org -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html