From owner-freebsd-hackers Thu Sep 19 12:25:21 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA02635 for hackers-outgoing; Thu, 19 Sep 1996 12:25:21 -0700 (PDT) Received: from etinc.com (et-gw-fr1.etinc.com [204.141.244.98]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id MAA01439 for ; Thu, 19 Sep 1996 12:23:24 -0700 (PDT) Received: from ppp-089.etinc.com (ppp-089.etinc.com [204.141.95.148]) by etinc.com (8.6.12/8.6.9) with SMTP id PAA13911; Thu, 19 Sep 1996 15:29:21 -0400 Date: Thu, 19 Sep 1996 15:29:21 -0400 Message-Id: <199609191929.PAA13911@etinc.com> X-Sender: dennis@etinc.com X-Mailer: Windows Eudora Version 2.0.3 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: Joe Greco From: dennis@etinc.com (Dennis) Subject: Re: Routers - hardware received wisdom Cc: hackers@freebsd.org Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Joe writes.... >What I am saying is that at some point, you can probably saturate the host >CPU. UNLESS the host CPU is powerful enough to deal with the worst case >scenario in the first place... Come on Dennis, you _know_ this as well as >I do. > >> at 5us per character, you've got 200us to pull off a 40byte packet. Thats your >> limit on the board. You've got a 32K buffer to protect against cpu >> contention, which >> is plenty. > >Bullshit. Pure bullshit. This rate is almost irrelevant to this >discussion, as long as it is large enough to support saturation at the >desired speed. I can't believe you do not understand this concept, >but I will draw it out for you. > >Let us pretend for the sake of argument that it takes 1ms for the host >CPU to route and dispose of a packet. This is known as "overhead". > >Now for large packets (lets say 1000 bytes), you have 5000us (5ms) to >pull off the 1000 byte packet. You also have the 1000us (1ms) packet >overhead. HOWEVER - I will grant that in the most ideal circumstances, >the two can be overlapped thanks to DMA transfers, and therefore >packet reception becomes max(5000us, 1000us) = 5000us. At that rate, >I believe that I can receive 200 packets per second. I hope we can >agree on that! Because it is derived purely from your 5us figure. > >Now, given a much smaller packet.. let's use your 40 byte packet. >You have 200us to pull off the 40 byte packet. You also have >the 1000us (1ms) packet processing overhead. Packet reception time >is max(200us, 1000us) = 1000us. At that rate, I believe that I can >receive 1000 packets per second. Well, interfaces just queue packets for the OS, so if you do your queue management properly, you discard packets based on age, and if you have enough memory to hold your bandwidth * hold_time you wont dump anything that shouldnt be dumped. However, what you're talking about is not real data... you can bring a Cisco 4500 to its knees with about 512kbs of data under attack, so the 4000 pps number ain't half bad! Dennis