[Click] RadixLookup limitations? And ARPQ with VLAN tag insertion

Beyers Cronje bcronje at gmail.com
Fri May 27 09:09:15 EDT 2005


Hi 

Have a look at <click-dir>/include/click/packet_anno.hh

Beyers


On 5/27/05, Alexander Sotnikov <a3df at trirema.kiev.ua> wrote:
> HI
> 
> First I explain what i trying to acheve.
> 
> I have ~40k-100k   *user groups*  , to each group assigned   one or more
> subnet and/or one or more host address  ,   each   group   must be
> encrypted with group key and routed to different GW.
> 
> Each Click router have 2 Ethernet ports connected to Swith with  VLAN
> tagging on.  Each GW also have 2 ports with different IP on each port ,
> and each GW port sit in different VLAN.
> 
> Each Click router must be able to balance between alternate routes to
> the same GW or have means to route to only one if another failed , this
> I plan to acheve by running  *reachibility daemon  :)* on top of click
> , this daemon will be responisible to repaint Paint elements witch served
> 
> Here some pseudocode.
> 
> 
> (RouteTable w/o dest Anno just port)[n-th port describing *user group
> number*]-->
> 
> 
> ///this is one of N threads. where N is total nuber of *user groups*
> (Paint 1=left   2=balance 3-right   element paint is set by external
> process)-->(Crypt somehow with static key)--> psN;  //Each *user group*
> connectrd
> to own GW
> 
> 
> ////This is for each N-th GW with 2 independent ports
> psN ::PaintSwitch;
> rrsN :: RoundRobinSwitch(2);
> 
> gwNanno1 :: SetIPAddress(GWnLEFTportIP );
> gwNanno2 :: SetIPAddress(GWnRIGHTportIP );
> vlan1_arpq :: ARPQuerer_with_vlan(IP1, mac1 , TAG 1);
> vlan2_arpq::  ARPQuerer_with_vlan(IP2, mac2 , TAG 2);
> 
> psN[1]->gwNanno1;
> psN[2]->rrsN;
> psN[3]->gwNanno2;
> 
> rrsN[0]->gwNanno1;
> rrsN[1]->gwNanno1;
> 
> gwNanno1->vlan1_arpq-> Queue[200]->Todevice(1);
> gwNanno2->vlan2_arpq-> Queue[200]->Todevice(2);
> 
> 
> As you see I route packet to its *user group*first by exit port from
> route table and then to his GW with futher balancing/failover.
> But if you say even 4096 ports is too much , 40000+ *user groups* i have
> now  , will not work for sure  :(
> 
> Can I set some other annotations on packet ? 4 bytes preferrably :)
> 
> In man page for SetAnnoByte  , permissible values is 0-n  where n  is
> typically = 24    , typically ?   What this typically depends on? Is
> thit always 24 which bytes i can use freely?
> 
> 
> 
> 
> PS : Sorry for bad English again.
> 
> Eddie Kohler wrote:
> 
> > Hi Alexander,
> >
> > A Click configuration with 4096 output paths would probably overwhelm
> > the machine; for instance, the configuration file itself might be too
> > large to "kalloc".  I wouldn't suggest you use RadixIPLookup as is.
> > Instead, write a version that maybe *annotated* the packet with an
> > output branch.  Then your other elements can examine that annotation.
> >
> > The 1-byte Paint annotation used in our IP router configs to check
> > for redirections imposes a max of 256 output paths.
> >
> > As for VLAN, can you say more?
> >
> > E
> >
> >
> >> Hi
> >>
> >> What is the maximum output port number RadixLookup can support?   I
> >> see key is of int type,  is this mean limit 32k?
> >> For DirectLookup as i understand it 4096.
> >>
> >> I'm trying to create quite big confuguration  with about   ~40k
> >> (execution branches) and different processing dependant on
> >> destination addr subnet.
> >>
> >> Also I trying to make ARPQ with VLAN ID insertion , from where
> >> should I start? I thinking about simple tag insertion given at
> >> element configuration(creation) .
> >> _______________________________________________
> >> click mailing list
> >> click at amsterdam.lcs.mit.edu
> >> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> >>
> >
> >
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>



More information about the click mailing list