[dpdk-dev] [PATCH v2 2/7] lib/librte_ether: support l2 tunnel config

Lu, Wenzhuo wenzhuo.lu at intel.com
Wed Feb 3 02:05:21 CET 2016


Hi Bruce,

> -----Original Message-----
> From: Richardson, Bruce
> Sent: Tuesday, February 2, 2016 8:03 PM
> To: Lu, Wenzhuo
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 2/7] lib/librte_ether: support l2 tunnel config
> 
> On Tue, Feb 02, 2016 at 02:57:00PM +0800, Wenzhuo Lu wrote:
> > Add functions to support l2 tunnel configuration.
> > The support includes ether type modification and the tunnel support
> > enabling/disabling.
> > Ether type modification means modifying the ether type of a specific
> > type of tunnel. So the packet with this ether type will be parsed as
> > this type of tunnel.
> > Enabling/disabling a tunnel support means enabling/disabling the
> > ability of parsing the specific type of tunnel. This ability should be
> > enabled before we enable filtering, forwarding, offloading for this
> > specific type of tunnel.
> > Only support e-tag tunnel now.
> >
> > E-tag introduction,
> > E-tag means external tag which is defined in IEEEE 802.1BR
> > specification.
> > E-tag is a kind of l2 tunnel. It means a tag will be inserted in the
> > l2 header. Like below,
> >    |31            24|23           16|15         8|7           0|
> >   0|                   Destination MAC address                 |
> >   4|     Dest MAC address(cont.)    |     Src MAC address      |
> >   8|                  Source MAC address(cont.)                |
> >  12| E-tag Etherenet type (0x893f)  |      E-tag header        |
> >  16|                    E-tag header(cont.)                    |
> >  20|   VLAN Ethertype(optional)     |   VLAN header(optional)  |
> >  24|         Original type          |         ......           |
> > ...|                              ......                       |
> > The E-tag format is like below,
> >    |0                    15|16   18|19 |20                   31|
> >    |   Ethertype - 0x893f  | E-PCP |DEI|   Ingress E-CID_base  |
> >
> >    |32  33|34 35|36      47|48         55    |56             63|
> >    |  RSV | GRP |E-CID_base|Ingress_E-CID_ext|    E-CID_ext    |
> >
> > The Ingess_E-CID_ext and E-CID_ext are always zero for endpoints and
> > are effectively reserved.
> >
> > The more details of E-tag is in IEEE 802.1BR. 802.1BR is used to
> > replace 802.1Qbh. 802.1BR is a standard for Bridge Port Extension.
> > It specifies the operation of Bridge Port Extenders, including
> > management, protocols, and algorithms. Bridge Port Extenders operate
> > in support of the MAC Service by Extended Bridges.
> > The E-tag is added to l2 header to identify the VM channel and the
> > virtual port.
> >
> > Signed-off-by: Wenzhuo Lu <wenzhuo.lu at intel.com>
> 
> Your introduction to e-tag needs to be in patch 1 rather than 2, and in the cover
> letter, since both those earlier mails reference it.
> Furthermore, it would be better if you could link to a web description of the e-
> tag rather than try and explain it all in a commit message. Diagrams also work
> better on a web-page.
O, my bad. I thought the patch 1 doesn't have something to do with E-tag directly.
But I do mention E-tag in the patch V1.
Thanks for the comments. I'll create  a V3.

> 
> /Bruce



More information about the dev mailing list