linux-c-programming.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* this code does not get called in dev.c so do we need it?
@ 2002-10-02 14:02 will fitzgerald
  2002-10-03  0:10 ` David S. Miller
  0 siblings, 1 reply; 5+ messages in thread
From: will fitzgerald @ 2002-10-02 14:02 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-c-programming

hi all,

this code excerpt from net_rx_action in dev.c does not
get executed at all. is there any need for it? what
does it do?

i inserted printk's in it just about everywhere.
i have a test network set up, A talks to C via router
B
(kernel 2.4.14)
justificattion:
i've pinged C from A, I've pinged eth0 on B from
A,I've pinged eth1 on B from A and i've pinged A from
router B and in no instance was any of the following
code executed.

whats CONFIG_NET_FASTROUTE supposed to do?

the only part that does get executed are the lines:
"skb->h.raw = skb->nh.raw = skb->data;
		{struct packet_type *ptype, *pt_prev;
		 unsigned short type = skb->protocol;
                  pt_prev = NULL;" just after the
CONFIG_NET_FASTROUTE section of code.

#ifdef CONFIG_NET_FASTROUTE
		if (skb->pkt_type == PACKET_FASTROUTE) {
			netdev_rx_stat[this_cpu].fastroute_deferred_out++;
			dev_queue_xmit(skb);
			dev_put(rx_dev);
			continue;
		}
#endif
		skb->h.raw = skb->nh.raw = skb->data;
		{

			struct packet_type *ptype, *pt_prev;
			unsigned short type = skb->protocol;

			pt_prev = NULL;
			for (ptype = ptype_all; ptype; ptype = ptype->next)
{
				if (!ptype->dev || ptype->dev == skb->dev) {
					if (pt_prev) {
						if (!pt_prev->data) {
							deliver_to_old_ones(pt_prev, skb, 0);
						} else {
							atomic_inc(&skb->users);
							pt_prev->func(skb,
								      skb->dev,
								      pt_prev);
						}
					}
					pt_prev = ptype;
				}
			}

#ifdef CONFIG_NET_DIVERT
			if (skb->dev->divert && skb->dev->divert->divert)
				handle_diverter(skb);
#endif /* CONFIG_NET_DIVERT */

			
#if defined(CONFIG_BRIDGE) ||
defined(CONFIG_BRIDGE_MODULE)
			if (skb->dev->br_port != NULL &&
			    br_handle_frame_hook != NULL) {
				handle_bridge(skb, pt_prev);
				dev_put(rx_dev);
				continue;
			}
#endif

if i'm wrong let me know,
thanks.

__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com

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

end of thread, other threads:[~2002-10-03 20:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-02 14:02 this code does not get called in dev.c so do we need it? will fitzgerald
2002-10-03  0:10 ` David S. Miller
2002-10-03 11:13   ` will fitzgerald
2002-10-03 11:14     ` David S. Miller
2002-10-03 20:14   ` nick

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).