Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Apr 1999 14:58:31 -0500 (CDT)
From:      Mike Spengler <mks@networkcs.com>
To:        pauls@ieng.com (Paul Southworth)
Cc:        freebsd-atm@FreeBSD.ORG
Subject:   Re: FreeBSD 3.0 ATM - more logical interfaces?
Message-ID:  <199904291958.OAA69199@us.networkcs.com>
In-Reply-To: <Pine.IENG.4.02.9904291351560.6430-100000@home.ieng.com> from Paul Southworth at "Apr 29, 99 02:00:42 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Paul Southworth said:
> 
> I would like to have more than 32 logical network interfaces associated
> with a single physical ATM device.  'atm set netif ...' appears to max at
> 32.  Let's say I wanted a thousand network interfaces - I guess I have two
> questions: (a) where are all the places that need to be changed, and (b)
> am I going to break anything?  The second question is the one that I'd
> really like to beg for an answer to.
> 
> I am running 3.0-RELEASE on i386 with an ENI PCI OC3 card.
> 
> [I realize the idea of hundreds of network interfaces may sound stupid -
> the purpose is "let's pretend a huge router to test absurdly large scaling
> of routing protocols".]
> 
Well, I can get you up to 256 network interfaces pretty easily with a couple
of small patches.  The first patch is for the atm command and is already
in FreeBSD 3.1.  The second will require a kernel recompile and is a fix
that I will commit to the current/stable code.


Index: atm.h
===================================================================
RCS file: /home/ncvs/src/sbin/atm/atm/atm.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- atm.h	1998/09/15 08:22:45	1.1
+++ atm.h	1999/01/20 18:36:58	1.2
@@ -23,7 +23,7 @@
  * Copies of this Software may be made, however, the above copyright
  * notice must be reproduced on all copies.
  *
- *	@(#) $Id: atm.h,v 1.1 1998/09/15 08:22:45 phk Exp $
+ *	@(#) $Id: atm.h,v 1.2 1999/01/20 18:36:58 mks Exp $
  *
  */
 
@@ -35,7 +35,7 @@
  *
  */
 
-#define	MAX_NIFS	32		/* Max network interfaces */
+#define	MAX_NIFS	256		/* Max network interfaces */
 #define	MIN_VCI		32		/* Smallest non-reserved VCI */
 
 #ifndef TRUE
Index: eni_globals.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/hea/eni_globals.c,v
retrieving revision 1.2
diff -u -r1.2 eni_globals.c
--- eni_globals.c	1998/10/31 20:06:45	1.2
+++ eni_globals.c	1999/04/29 19:46:26
@@ -90,7 +90,7 @@
 	"eni nif pool",			/* si_name */
 	sizeof(struct atm_nif),		/* si_blksiz */
 	5,				/* si_blkcnt */
-	20				/* si_maxallow */
+	52				/* si_maxallow */
 };
 
 struct sp_info eni_vcc_pool = {


As for going over 256 interfaces, this may be somewhat more problematical.
The 256 limit is mostly for UNI interfaces - each interface needs to have a
unique ATM address and we use the NSAP selector byte (8 bits) to differentiate
each logical interface on a physical interface.  There are other ways we
could do this, but that would require a little more thinking/effort.  If you
just want to use only PVCs, it would be pretty easy to bump the 256 limit -
we'd just need to bump a few resource limiters in the code.  One other thing
to consider is the maximum number of VCCs active at any instant.  The NIC
cards all have data structures on-card for VCC segmentation/reassembly queues -
there would need to be some tweaking with this too.

Let me know if you want to talk more about this.

-- 
Mike Spengler				Network Computing Services, Inc.
Email: mks@networkcs.com		1200 Washington Ave. So.
Phone: +1 612 337 3557			Minneapolis MN 55415
FAX:   +1 612 337 3400			(aka Minnesota Supercomputer Center)


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-atm" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904291958.OAA69199>