[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