Mailing List Archive

Mapping QinQ VLANs into VPLS instances
Dear Community,

A provider of ours is handing off clients VLANs over a fiber interco using
QinQ (outer VLAN is for transport on their network and inner VLAN is our
end client).

We actually terminate this on a Cisco ME but would like to move that to an
MLXe action as MPLS PE and map VLANs into different MPLS instances.

I wanted to confirm the exact stanza based on what I found in NI5.4 config
guide :

1/ Activate QinQ on the provider facing port :

tag-type 9100 ethe X/Y.

I found this section in the guide related to this :

"*Special considerations for dual-tagged endpoints*
*Before configuring a dual-tagged VPLS endpoint, consider the following:*
*• *
*The tag protocol identifier (TPID) of the inner VLAN tag must be 0x8100
be classified as dual-tagged and recognized by dual-tagged endpoints. If
the TPID is not 0x8100, the packet will be classified as a single-tagged
packet.*
*• *
*The TPI*D of the outer VLAN tag must be the port’s configured tag type
(the default tag type is 0x8100)."


2/ Map client VLAN into the different VPLS instances :

Brocade(config-mpls)#vpls test 10
Brocade(config-mpls-vpls-test10)#vlan X inner-vlan Y
Brocade(config-mpls-vpls-test_10-vlan-X-inner-vlan-Y)#tagged Ethernet 2/1

X being SP transport VLAN (outer VLAN) and Y being clustomer VLAN (inner
VLAN).


Does that sound about right to you ?

Thanks for the feedbacks.

Best regards.



--
Youssef BENGELLOUN-ZAHR
Re: Mapping QinQ VLANs into VPLS instances [ In reply to ]
Hello,

Anyone ?

Y.



2014-10-01 12:07 GMT+02:00 Youssef Bengelloun-Zahr <youssef@720.fr>:

> Dear Community,
>
> A provider of ours is handing off clients VLANs over a fiber interco using
> QinQ (outer VLAN is for transport on their network and inner VLAN is our
> end client).
>
> We actually terminate this on a Cisco ME but would like to move that to an
> MLXe action as MPLS PE and map VLANs into different MPLS instances.
>
> I wanted to confirm the exact stanza based on what I found in NI5.4 config
> guide :
>
> 1/ Activate QinQ on the provider facing port :
>
> tag-type 9100 ethe X/Y.
>
> I found this section in the guide related to this :
>
> "*Special considerations for dual-tagged endpoints*
> *Before configuring a dual-tagged VPLS endpoint, consider the following:*
> *• *
> *The tag protocol identifier (TPID) of the inner VLAN tag must be 0x8100
> be classified as dual-tagged and recognized by dual-tagged endpoints. If
> the TPID is not 0x8100, the packet will be classified as a single-tagged
> packet.*
> *• *
> *The TPI*D of the outer VLAN tag must be the port’s configured tag type
> (the default tag type is 0x8100)."
>
>
> 2/ Map client VLAN into the different VPLS instances :
>
> Brocade(config-mpls)#vpls test 10
> Brocade(config-mpls-vpls-test10)#vlan X inner-vlan Y
> Brocade(config-mpls-vpls-test_10-vlan-X-inner-vlan-Y)#tagged Ethernet 2/1
>
> X being SP transport VLAN (outer VLAN) and Y being clustomer VLAN (inner
> VLAN).
>
>
> Does that sound about right to you ?
>
> Thanks for the feedbacks.
>
> Best regards.
>
>
>
> --
> Youssef BENGELLOUN-ZAHR
>



--
Youssef BENGELLOUN-ZAHR
Re: Mapping QinQ VLANs into VPLS instances [ In reply to ]
Dear Martijn,

Thank you for your feedback but I'm trying to achieve the other way around
ie strip Provider's outer VLAN.

We do agree on the fact that provider-facing port has to be declared as
expecting QinQ frames :

tag-type 9100 ethe X/Y.

Then, I have to "strip out" outer-VLAN and declare my end clients 802.1Q
VLANs in their VPLS instances :

Brocade(config-mpls)#vpls test 10
Brocade(config-mpls-vpls-test10)#vlan X inner-vlan Y
Brocade(config-mpls-vpls-test_10-vlan-X-inner-vlan-Y)#tagged Ethernet 2/1

X being SP transport VLAN (outer VLAN) and Y being clustomer VLAN (inner
VLAN).

I am correct ?

Thanks.



2014-10-02 18:32 GMT+02:00 i3D.net - Martijn Schmidt <martijnschmidt@i3d.net
>:

> Hello Youssef,
>
> It looks something like the below for MPLS VLL, I haven't experimented
> with VPLS yet but suspect you'd have to terminate as untagged as well:
>
> tag-type 9100 ethe 7/2
>
> vll MODERATED 3003
> vll-peer A.B.C.D
> untag e 7/2
>
> SSH@MODERATED#show vlan e 7/2
> VLL name MODERATED, VLL ID: 3003,
> VLAN: 1 Untagged
>
> Best regards,
> Martijn
>
>
> On 10/02/2014 05:37 PM, Youssef Bengelloun-Zahr wrote:
>
> Hello Martijn,
>
> Would care to share some configuration example please ?
>
> Best regards.
>
>
>
> 2014-10-02 17:25 GMT+02:00 i3D.net - Martijn Schmidt <
> martijnschmidt@i3d.net>:
>
>> Youssef,
>>
>> In our experience with QinQ over MPLS VLL, not VPLS, you'll want to make
>> the customer-facing MPLS port untagged.
>>
>> QinQ will then encapsulate the whole thing, dump it into the VLL as a
>> single "instance/VLAN", and <random device> on the other side of the line
>> can unpack it again.
>>
>> Best regards,
>> Martijn
>>
>>
>> On 10/02/2014 05:15 PM, Youssef Bengelloun-Zahr wrote:
>>
>> Hello,
>>
>> Anyone ?
>>
>> Y.
>>
>>
>>
>> 2014-10-01 12:07 GMT+02:00 Youssef Bengelloun-Zahr <youssef@720.fr>:
>>
>>> Dear Community,
>>>
>>> A provider of ours is handing off clients VLANs over a fiber interco
>>> using QinQ (outer VLAN is for transport on their network and inner VLAN is
>>> our end client).
>>>
>>> We actually terminate this on a Cisco ME but would like to move that to
>>> an MLXe action as MPLS PE and map VLANs into different MPLS instances.
>>>
>>> I wanted to confirm the exact stanza based on what I found in NI5.4
>>> config guide :
>>>
>>> 1/ Activate QinQ on the provider facing port :
>>>
>>> tag-type 9100 ethe X/Y.
>>>
>>> I found this section in the guide related to this :
>>>
>>> "*Special considerations for dual-tagged endpoints*
>>> *Before configuring a dual-tagged VPLS endpoint, consider the
>>> following:*
>>> *• *
>>> *The tag protocol identifier (TPID) of the inner VLAN tag must be
>>> 0x8100 be classified as dual-tagged and recognized by dual-tagged
>>> endpoints. If the TPID is not 0x8100, the packet will be classified as a
>>> single-tagged packet.*
>>> *• *
>>> *The TPI*D of the outer VLAN tag must be the port’s configured tag
>>> type (the default tag type is 0x8100)."
>>>
>>>
>>> 2/ Map client VLAN into the different VPLS instances :
>>>
>>> Brocade(config-mpls)#vpls test 10
>>> Brocade(config-mpls-vpls-test10)#vlan X inner-vlan Y
>>> Brocade(config-mpls-vpls-test_10-vlan-X-inner-vlan-Y)#tagged Ethernet 2/1
>>>
>>> X being SP transport VLAN (outer VLAN) and Y being clustomer VLAN
>>> (inner VLAN).
>>>
>>>
>>> Does that sound about right to you ?
>>>
>>> Thanks for the feedbacks.
>>>
>>> Best regards.
>>>
>>>
>>>
>>> --
>>> Youssef BENGELLOUN-ZAHR
>>>
>>
>>
>>
>> --
>> Youssef BENGELLOUN-ZAHR
>>
>>
>> _______________________________________________
>> foundry-nsp mailing listfoundry-nsp@puck.nether.nethttp://puck.nether.net/mailman/listinfo/foundry-nsp
>>
>>
>>
>>
>> Best regards,
>>
>> Martijn Schmidt
>> http://www.i3D.net
>>
>> i3D.net is a private company registered in The Netherlands at Meent 93b,
>> Rotterdam. Registration #: 14074337 - VAT # NL 8202.63.886.B01. i3D.net is
>> CDSA certified on Content Protection and Security and provides hosting from
>> 16 global ISO-certified datacenters. We are ranked in the Deloitte
>> Technology Fast 500 EMEA as one of the fastest growing technology
>> companies.
>>
>>
>
>
> --
> Youssef BENGELLOUN-ZAHR
>
>
>
>
> Best regards,
>
> Martijn Schmidt
> http://www.i3D.net
>
> i3D.net is a private company registered in The Netherlands at Meent 93b,
> Rotterdam. Registration #: 14074337 - VAT # NL 8202.63.886.B01. i3D.net is
> CDSA certified on Content Protection and Security and provides hosting from
> 16 global ISO-certified datacenters. We are ranked in the Deloitte
> Technology Fast 500 EMEA as one of the fastest growing technology
> companies.
>
>


--
Youssef BENGELLOUN-ZAHR
Re: Mapping QinQ VLANs into VPLS instances [ In reply to ]
Youssef,

Can't you specify an untagged VPLS end-point for the customer-facing
port, and then supplement it with the tag-type 9100? This is the way
you'd do it on a VLL, it makes sense to have it work that way on VPLS
too. Copying from the manual:

Specifying an untagged endpoint

To specify an untagged endpoint for a VPLS instance, enter commands such
as the following.

Brocade(config-mpls)# vpls v1 40000
Brocade(config-mpls-vpls-v1)# vlan 100
Brocade(config-mpls-vpls-v1-vlan-100)# untagged ethernet 2/1

*Syntax: [no] untagged [ethernet] portnum*

NOTE
Foundry Discovery Protocol (FDP) must not be enabled on an untagged VPLS
or VLL endpoint.

Best regards,
Martijn

On 10/02/2014 08:23 PM, Youssef Bengelloun-Zahr wrote:
> Dear Martijn,
>
> Thank you for your feedback but I'm trying to achieve the other way
> around ie strip Provider's outer VLAN.
>
> We do agree on the fact that provider-facing port has to be declared
> as expecting QinQ frames :
>
> tag-type 9100 ethe X/Y.
>
> Then, I have to "strip out" outer-VLAN and declare my end clients
> 802.1Q VLANs in their VPLS instances :
>
> Brocade(config-mpls)#vpls test 10
> Brocade(config-mpls-vpls-test10)#vlan X inner-vlan Y
> Brocade(config-mpls-vpls-test_10-vlan-X-inner-vlan-Y)#tagged Ethernet 2/1
>
> X being SP transport VLAN (outer VLAN) and Y being clustomer VLAN
> (inner VLAN).
>
> I am correct ?
>
> Thanks.
>
>
>
> 2014-10-02 18:32 GMT+02:00 i3D.net - Martijn Schmidt
> <martijnschmidt@i3d.net <mailto:martijnschmidt@i3d.net>>:
>
> Hello Youssef,
>
> It looks something like the below for MPLS VLL, I haven't
> experimented with VPLS yet but suspect you'd have to terminate as
> untagged as well:
>
> tag-type 9100 ethe 7/2
>
> vll MODERATED 3003
> vll-peer A.B.C.D
> untag e 7/2
>
> SSH@MODERATED#show vlan e 7/2
> VLL name MODERATED, VLL ID:
> 3003, VLAN: 1 Untagged
>
> Best regards,
> Martijn
>
>
> On 10/02/2014 05:37 PM, Youssef Bengelloun-Zahr wrote:
>> Hello Martijn,
>>
>> Would care to share some configuration example please ?
>>
>> Best regards.
>>
>>
>>
>> 2014-10-02 17:25 GMT+02:00 i3D.net - Martijn Schmidt
>> <martijnschmidt@i3d.net <mailto:martijnschmidt@i3d.net>>:
>>
>> Youssef,
>>
>> In our experience with QinQ over MPLS VLL, not VPLS, you'll
>> want to make the customer-facing MPLS port untagged.
>>
>> QinQ will then encapsulate the whole thing, dump it into the
>> VLL as a single "instance/VLAN", and <random device> on the
>> other side of the line can unpack it again.
>>
>> Best regards,
>> Martijn
>>
>>
>> On 10/02/2014 05:15 PM, Youssef Bengelloun-Zahr wrote:
>>> Hello,
>>>
>>> Anyone ?
>>>
>>> Y.
>>>
>>>
>>>
>>> 2014-10-01 12:07 GMT+02:00 Youssef Bengelloun-Zahr
>>> <youssef@720.fr <mailto:youssef@720.fr>>:
>>>
>>> Dear Community,
>>>
>>> A provider of ours is handing off clients VLANs over a
>>> fiber interco using QinQ (outer VLAN is for transport on
>>> their network and inner VLAN is our end client).
>>>
>>> We actually terminate this on a Cisco ME but would like
>>> to move that to an MLXe action as MPLS PE and map VLANs
>>> into different MPLS instances.
>>>
>>> I wanted to confirm the exact stanza based on what I
>>> found in NI5.4 config guide :
>>>
>>> 1/ Activate QinQ on the provider facing port :
>>>
>>> tag-type 9100 ethe X/Y.
>>>
>>> I found this section in the guide related to this :
>>>
>>> "/Special considerations for dual-tagged endpoints/
>>> //
>>> /Before configuring a dual-tagged VPLS endpoint,
>>> consider the following:/
>>> //
>>> /• /
>>>
>>> /The tag protocol identifier (TPID) of the inner VLAN
>>> tag must be 0x8100 be classified as dual-tagged and
>>> recognized by dual-tagged endpoints. If the TPID is not
>>> 0x8100, the packet will be classified as a single-tagged
>>> packet./
>>>
>>> ////
>>> /• /
>>> //
>>> /The TPI/D of the outer VLAN tag must be the port’s
>>> configured tag type (the default tag type is 0x8100)."
>>>
>>>
>>>
>>> 2/ Map client VLAN into the different VPLS instances :
>>>
>>> Brocade(config-mpls)#vpls test 10
>>> Brocade(config-mpls-vpls-test10)#vlan X inner-vlan Y
>>> Brocade(config-mpls-vpls-test_10-vlan-X-inner-vlan-Y)#tagged
>>> Ethernet 2/1
>>>
>>> X being SP transport VLAN (outer VLAN) and Y being
>>> clustomer VLAN (inner VLAN).
>>>
>>>
>>> Does that sound about right to you ?
>>>
>>> Thanks for the feedbacks.
>>>
>>> Best regards.
>>>
>>>
>>>
>>> --
>>> Youssef BENGELLOUN-ZAHR
>>>
>>>
>>>
>>>
>>> --
>>> Youssef BENGELLOUN-ZAHR
>>>
>>>
>>> _______________________________________________
>>> foundry-nsp mailing list
>>> foundry-nsp@puck.nether.net <mailto:foundry-nsp@puck.nether.net>
>>> http://puck.nether.net/mailman/listinfo/foundry-nsp
>>
>>
>>
>> Best regards,
>>
>> Martijn Schmidt
>> http://www.i3D.net
>>
>> i3D.net is a private company registered in The Netherlands at
>> Meent 93b, Rotterdam. Registration #: 14074337 - VAT # NL
>> 8202.63.886.B01. i3D.net is CDSA certified on Content
>> Protection and Security and provides hosting from 16 global
>> ISO-certified datacenters. We are ranked in the Deloitte
>> Technology Fast 500 EMEA as one of the fastest growing
>> technology companies.
>>
>>
>>
>>
>> --
>> Youssef BENGELLOUN-ZAHR
>
>
>
> Best regards,
>
> Martijn Schmidt
> http://www.i3D.net
>
> i3D.net is a private company registered in The Netherlands at
> Meent 93b, Rotterdam. Registration #: 14074337 - VAT # NL
> 8202.63.886.B01. i3D.net is CDSA certified on Content Protection
> and Security and provides hosting from 16 global ISO-certified
> datacenters. We are ranked in the Deloitte Technology Fast 500
> EMEA as one of the fastest growing technology companies.
>
>
>
>
> --
> Youssef BENGELLOUN-ZAHR



Best regards,

Martijn Schmidt
http://www.i3D.net

i3D.net is a private company registered in The Netherlands at Meent 93b, Rotterdam. Registration #: 14074337 - VAT # NL 8202.63.886.B01. i3D.net is CDSA certified on Content Protection and Security and provides hosting from 16 global ISO-certified datacenters. We are ranked in the Deloitte Technology Fast 500 EMEA as one of the fastest growing technology companies.
Re: Mapping QinQ VLANs into VPLS instances [ In reply to ]
Sorry,

I can't as my clients end feed points are tagged.

Just want to know if what I'm proposing is right ?

Best regards.



> Le 2 oct. 2014 à 20:35, "i3D.net - Martijn Schmidt" <martijnschmidt@i3d.net> a écrit :
>
> Youssef,
>
> Can't you specify an untagged VPLS end-point for the customer-facing port, and then supplement it with the tag-type 9100? This is the way you'd do it on a VLL, it makes sense to have it work that way on VPLS too. Copying from the manual:
>
> Specifying an untagged endpoint
>
> To specify an untagged endpoint for a VPLS instance, enter commands such as the following.
>
> Brocade(config-mpls)# vpls v1 40000
> Brocade(config-mpls-vpls-v1)# vlan 100
> Brocade(config-mpls-vpls-v1-vlan-100)# untagged ethernet 2/1
>
> Syntax: [no] untagged [ethernet] portnum
>
> NOTE
> Foundry Discovery Protocol (FDP) must not be enabled on an untagged VPLS or VLL endpoint.
>
> Best regards,
> Martijn
>
>> On 10/02/2014 08:23 PM, Youssef Bengelloun-Zahr wrote:
>> Dear Martijn,
>>
>> Thank you for your feedback but I'm trying to achieve the other way around ie strip Provider's outer VLAN.
>>
>> We do agree on the fact that provider-facing port has to be declared as expecting QinQ frames :
>>
>> tag-type 9100 ethe X/Y.
>>
>> Then, I have to "strip out" outer-VLAN and declare my end clients 802.1Q VLANs in their VPLS instances :
>>
>> Brocade(config-mpls)#vpls test 10
>> Brocade(config-mpls-vpls-test10)#vlan X inner-vlan Y
>> Brocade(config-mpls-vpls-test_10-vlan-X-inner-vlan-Y)#tagged Ethernet 2/1
>>
>> X being SP transport VLAN (outer VLAN) and Y being clustomer VLAN (inner VLAN).
>>
>> I am correct ?
>>
>> Thanks.
>>
>>
>>
>> 2014-10-02 18:32 GMT+02:00 i3D.net - Martijn Schmidt <martijnschmidt@i3d.net>:
>>> Hello Youssef,
>>>
>>> It looks something like the below for MPLS VLL, I haven't experimented with VPLS yet but suspect you'd have to terminate as untagged as well:
>>>
>>> tag-type 9100 ethe 7/2
>>>
>>> vll MODERATED 3003
>>> vll-peer A.B.C.D
>>> untag e 7/2
>>>
>>> SSH@MODERATED#show vlan e 7/2
>>> VLL name MODERATED, VLL ID: 3003, VLAN: 1 Untagged
>>>
>>> Best regards,
>>> Martijn
>>>
>>>
>>>> On 10/02/2014 05:37 PM, Youssef Bengelloun-Zahr wrote:
>>>> Hello Martijn,
>>>>
>>>> Would care to share some configuration example please ?
>>>>
>>>> Best regards.
>>>>
>>>>
>>>>
>>>> 2014-10-02 17:25 GMT+02:00 i3D.net - Martijn Schmidt <martijnschmidt@i3d.net>:
>>>>> Youssef,
>>>>>
>>>>> In our experience with QinQ over MPLS VLL, not VPLS, you'll want to make the customer-facing MPLS port untagged.
>>>>>
>>>>> QinQ will then encapsulate the whole thing, dump it into the VLL as a single "instance/VLAN", and <random device> on the other side of the line can unpack it again.
>>>>>
>>>>> Best regards,
>>>>> Martijn
>>>>>
>>>>>
>>>>> On 10/02/2014 05:15 PM, Youssef Bengelloun-Zahr wrote:
>>>>>> Hello,
>>>>>>
>>>>>> Anyone ?
>>>>>>
>>>>>> Y.
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2014-10-01 12:07 GMT+02:00 Youssef Bengelloun-Zahr <youssef@720.fr>:
>>>>>>> Dear Community,
>>>>>>>
>>>>>>> A provider of ours is handing off clients VLANs over a fiber interco using QinQ (outer VLAN is for transport on their network and inner VLAN is our end client).
>>>>>>>
>>>>>>> We actually terminate this on a Cisco ME but would like to move that to an MLXe action as MPLS PE and map VLANs into different MPLS instances.
>>>>>>>
>>>>>>> I wanted to confirm the exact stanza based on what I found in NI5.4 config guide :
>>>>>>>
>>>>>>> 1/ Activate QinQ on the provider facing port :
>>>>>>>
>>>>>>> tag-type 9100 ethe X/Y.
>>>>>>>
>>>>>>> I found this section in the guide related to this :
>>>>>>>
>>>>>>> "Special considerations for dual-tagged endpoints
>>>>>>> Before configuring a dual-tagged VPLS endpoint, consider the following:
>>>>>>> •
>>>>>>> The tag protocol identifier (TPID) of the inner VLAN tag must be 0x8100 be classified as dual-tagged and recognized by dual-tagged endpoints. If the TPID is not 0x8100, the packet will be classified as a single-tagged packet.
>>>>>>> •
>>>>>>> The TPID of the outer VLAN tag must be the port’s configured tag type (the default tag type is 0x8100)."
>>>>>>>
>>>>>>>
>>>>>>> 2/ Map client VLAN into the different VPLS instances :
>>>>>>>
>>>>>>> Brocade(config-mpls)#vpls test 10
>>>>>>> Brocade(config-mpls-vpls-test10)#vlan X inner-vlan Y
>>>>>>> Brocade(config-mpls-vpls-test_10-vlan-X-inner-vlan-Y)#tagged Ethernet 2/1
>>>>>>>
>>>>>>> X being SP transport VLAN (outer VLAN) and Y being clustomer VLAN (inner VLAN).
>>>>>>>
>>>>>>>
>>>>>>> Does that sound about right to you ?
>>>>>>>
>>>>>>> Thanks for the feedbacks.
>>>>>>>
>>>>>>> Best regards.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Youssef BENGELLOUN-ZAHR
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Youssef BENGELLOUN-ZAHR
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> foundry-nsp mailing list
>>>>>> foundry-nsp@puck.nether.net
>>>>>> http://puck.nether.net/mailman/listinfo/foundry-nsp
>>>>>
>>>>>
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Martijn Schmidt
>>>>> http://www.i3D.net
>>>>>
>>>>> <mime-attachment.jpg>i3D.net is a private company registered in The Netherlands at Meent 93b, Rotterdam. Registration #: 14074337 - VAT # NL 8202.63.886.B01. i3D.net is CDSA certified on Content Protection and Security and provides hosting from 16 global ISO-certified datacenters. We are ranked in the Deloitte Technology Fast 500 EMEA as one of the fastest growing technology companies.
>>>>
>>>>
>>>>
>>>> --
>>>> Youssef BENGELLOUN-ZAHR
>>>
>>>
>>>
>>> Best regards,
>>>
>>> Martijn Schmidt
>>> http://www.i3D.net
>>>
>>> <mime-attachment.jpg>i3D.net is a private company registered in The Netherlands at Meent 93b, Rotterdam. Registration #: 14074337 - VAT # NL 8202.63.886.B01. i3D.net is CDSA certified on Content Protection and Security and provides hosting from 16 global ISO-certified datacenters. We are ranked in the Deloitte Technology Fast 500 EMEA as one of the fastest growing technology companies.
>>
>>
>>
>> --
>> Youssef BENGELLOUN-ZAHR
>
>
>
> Best regards,
>
> Martijn Schmidt
> http://www.i3D.net
>
> <5b9cf835.8e7c0883.jpg>i3D.net is a private company registered in The Netherlands at Meent 93b, Rotterdam. Registration #: 14074337 - VAT # NL 8202.63.886.B01. i3D.net is CDSA certified on Content Protection and Security and provides hosting from 16 global ISO-certified datacenters. We are ranked in the Deloitte Technology Fast 500 EMEA as one of the fastest growing technology companies.
>