netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Casting (struct rtable*) to (struct dst_entry*)
@ 2003-03-20  4:55 N N Ashok
  2003-03-20  4:59 ` David S. Miller
  0 siblings, 1 reply; 5+ messages in thread
From: N N Ashok @ 2003-03-20  4:55 UTC (permalink / raw)
  To: netdev, linux-net

Hi,
   I have been looking at the networking code of Linux for my Masters thesis. 
I observed the following:
In ip_route_input(), if a route is found in the cache, the skb->dst is setup 
with the route found by casting the rtable entry to dst_entry:
	skb->dst = (struct dst_entry*)rth;

Later in ip_route_input(), skb->dst->input() is called:
	return skb->dst->input(skb);

In ip_forward(), skb->dst is again casted to rtable:
	rt = (struct rtable*)skb->dst;

I am unable to understand how a rtable structure casted to dst_entry will give 
a correct pointer to the input() function. I looked at the fields in rtable 
and dst_entry, the fields in the structures are cannot be lined up (the 
fourth field in rtable is not the same type as the fourth field in 
dst_entry). 

Can anybody help me understand this casting of rtable to dst_entry and then 
back to rtable?

Thanks,
Ashok

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-03-20  6:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-20  4:55 Casting (struct rtable*) to (struct dst_entry*) N N Ashok
2003-03-20  4:59 ` David S. Miller
2003-03-20  5:27   ` N N Ashok
2003-03-20  5:33     ` David S. Miller
2003-03-20  6:02       ` N N Ashok

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).