* Switching packets from netif_rx()
@ 2003-11-19 13:51 Madhavi
2003-11-19 14:10 ` Jeff Garzik
0 siblings, 1 reply; 2+ messages in thread
From: Madhavi @ 2003-11-19 13:51 UTC (permalink / raw)
To: linux-kernel
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1497 bytes --]
Hi
I am implementing a soft switch that can switch packets received on an
interface over certain outgoing interfaces.
The setup is -
+-----------+ +------------+ +------+
| Streamer |-----------| Switch |----------| Host |
+-----------+ +------------+ +------+
The switching functionality is implemented in function netif_rx(). Based
on the list of outgoing interfaces, I am doing the following things.
* Cloning the packets.
* Obtaining outgoing device from outgoing interface index.
* Calling dev_queue_xmit() to send the packet on outgoing device.
I am having the following is PROBLEM with this:
~~~~~~~
When streamer sends a continuous flow of packets to switch, the switch is
able to send upto 3500 (approx. - this varies each time) to the host and
afterwards, the switch is hanging.
I tried sending bunches of 100 packets each with 1 second time gap between
bunches, the switch is functioning without interruptions.
- Is there any problem in the way I am implementing the switch? The
"bridge" code seems to be doing the same things.
- Or, is there is some limit on the incoming flow rate the kernel will be
able to handle?
I would be very grateful if someone can help me with this.
Regards
Madhavi.
Madhavi Suram
Software Engineer
Customer Delivery / Networks
Sasken Communication Technologies Limited
139/25, Ring Road, Domlur
Bangalore - 560071 India
Email: madhavis@sasken.com
Tel: + 91 80 5355501 Extn: 8062
Fax: + 91 80 5351133
URL: www.sasken.com
[-- Attachment #2: Type: text/plain, Size: 982 bytes --]
************************************************************************
SASKEN BUSINESS DISCLAIMER
This message may contain confidential, proprietary or legally Privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email.
***********************************************************************
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: Switching packets from netif_rx()
2003-11-19 13:51 Switching packets from netif_rx() Madhavi
@ 2003-11-19 14:10 ` Jeff Garzik
0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2003-11-19 14:10 UTC (permalink / raw)
To: Madhavi; +Cc: linux-kernel
Madhavi wrote:
> The setup is -
>
> +-----------+ +------------+ +------+
> | Streamer |-----------| Switch |----------| Host |
> +-----------+ +------------+ +------+
>
> The switching functionality is implemented in function netif_rx(). Based
> on the list of outgoing interfaces, I am doing the following things.
>
> * Cloning the packets.
> * Obtaining outgoing device from outgoing interface index.
> * Calling dev_queue_xmit() to send the packet on outgoing device.
As a tangent, this is pretty much what CONFIG_NET_FASTROUTE does...
Jeff
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-11-19 14:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-19 13:51 Switching packets from netif_rx() Madhavi
2003-11-19 14:10 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox