From: Matti Aarnio <matti.aarnio@zmailer.org>
To: Anantha Kiran <ananth.kandukuri@gmail.com>
Cc: linux-admin@vger.kernel.org, linux-net@vger.kernel.org
Subject: Re: Linux based router for Gigabit traffic
Date: Sun, 22 Aug 2004 18:07:04 +0300 [thread overview]
Message-ID: <20040822150704.GC19844@mea-ext.zmailer.org> (raw)
In-Reply-To: <7a436d9b040822053245a3304d@mail.gmail.com>
On Sun, Aug 22, 2004 at 06:02:59PM +0530, Anantha Kiran wrote:
> Hi
> I am doing a project, in which i have to redirect traffic coming from
> one ethernet card of a machine, to one of three remaining three
> ethernet cards of same machine based on the src,dest IP and Port
> values of the pkt. I wrote a net_hook module to do this which i
> working fine for lower speeds like < 400 Mbps traffic. But project
> goal is to deal with gigabit traffic. I have used gigabit ethernet
> cards and Switch. But when the traffic rate is more than 400Mbps it is
> dropping packets. I did test, by increasing the transmit queue
> length. But same problem is coming. I have found during the pkt drop
> there is no memory or CPU is hundred percently utilised. So, what can
> be the resource that is lacking while dropping of pkts is happend.
>
> We have done a test, in which module will simply forward pkts from
> "eth0" through "eth1". Same problem of pkt dropping at highier speed
> is happening.
The lspci output shows that you have a GE and a FE interfaces.
Getting thru more than 100 Mbps should not be possible with that..
01:01.0 Ethernet controller: Intel Corp. 82540EM Gigabit Ethernet Controller (rev 02)
Subsystem: Intel Corp. PRO/1000 MT Desktop Adapter
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (63750ns min), cache line size 08
That card has a PCI bus of:
PCI 2.3 32-bit 33/66 MHz
which means it can handle up to about 260 MB/s thru the bus.
If about 10% of that is transaction overhead, and then 50/50 goes
to network traffic, that gives upper limit of 115 MB/s which is
about 0.92 Gbit/s.
But if the bus runs at mere 33 MHz ...
01:08.0 Ethernet controller: Intel Corp. 82801BD PRO/100 VE (LOM) Ethernet Controller (rev 81)
Subsystem: Intel Corp.: Unknown device 3009
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (2000ns min, 14000ns max), cache line size 08
"LOM" cards are something that are built into the system boards.
They communicate command and management traffic thru the PCI bus,
but payload traffic goes thru separate channel to main memory hub.
The LOM cards are usually giga-ethers, which means the pci-ids are
something most strange.. Also this is located into same PCI bus as
the PRO/1000 MT card above, and the bus can't alter speed in between
different cards -- which means that the bus is running at 33 MHz.
Possibly that LOM "card" really is some GE card, and it can run
full GE speed to main memory. However it will eat into PCI bus
bandwidth for the command traffic, although the data traffic flows
thru a LOM side-channel.
The PCI bridge in between main hub, and the bus where those cards
are tells:
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 81) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR+
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
So, that bus is running at 33 MHz, and a 32 bit wide GE card in it
can get around 0.4 Gbit/s thru it (remembering that that bus has
also other traffic thru it, than just ethernet traffic itself.)
> Now we thought , it can be due to PCI bus. But we are unable to find
> what is configuration of PCI bus , our system is using. we have used
> "lspci" to find that. But i am unable to interpret it. I am attaching
> that output file. Can anybody tell me how to interpret that or give
> some guidelines , like whom to mail, to find that.
>
> Atlast we try to solve the problem in the following manner. Idea is
> to, install a router for my machine which can deal with gigabit
> traffic. If the router is able to work with gigabit traffic, then
> definitely pkts dropping will not be due to PCI bus.
A motherboard with two or more LOM GE interfaces MIGHT do it.
Those are usually available only with 10/100/1000Base-T, not
with optical (gbic) mode.
Another approach is to have system with multiple PCI-X busses,
and add PCI-X GE cards.
For example:
http://www.supermicro.com/products/motherboard/Xeon800/E7520/X6DH8-XG2.cfm
> So, canbdoy please, suggest some opensource router for linux which
> can deal with gigabit traffic. Or atleast some suggestions to solve
> this problem.
> --
> K.AnanthaKiran
> D-108/HALL-7
/Matti Aarnio
next prev parent reply other threads:[~2004-08-22 15:07 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-22 12:32 Linux based router for Gigabit traffic Anantha Kiran
2004-08-22 12:49 ` Neil Horman
2004-08-23 5:56 ` David S. Miller
2004-08-23 7:11 ` Mikael Abrahamsson
2004-08-23 13:10 ` Adam Lang
2004-08-23 7:58 ` urgrue
2004-08-23 11:17 ` Neil Horman
2004-08-23 11:36 ` urgrue
2004-08-25 7:48 ` Stephen Samuel
2004-08-23 15:31 ` Stephen J. Smoogen
2004-08-24 17:08 ` DNS "named" question Tony Gogoi
2004-08-24 17:21 ` DNS 'named' question Scott Taylor
2004-08-24 17:33 ` DNS "named" question Bradley Hook
2004-08-22 15:07 ` Matti Aarnio [this message]
2004-08-27 18:01 ` Linux based router for Gigabit traffic neolozer
[not found] <Pine.LNX.4.44.0408220858160.1897-100000@bawx.pilosoft.com>
[not found] ` <4128CA84.7000304@redhat.com>
2004-08-22 18:14 ` Anantha Kiran
2004-08-22 18:25 ` Anantha Kiran
2004-08-23 15:39 ` Stephen J. Smoogen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040822150704.GC19844@mea-ext.zmailer.org \
--to=matti.aarnio@zmailer.org \
--cc=ananth.kandukuri@gmail.com \
--cc=linux-admin@vger.kernel.org \
--cc=linux-net@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).