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

Bruce Richardson bruce.richardson at intel.com
Tue Feb 2 13:03:29 CET 2016


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.

/Bruce



More information about the dev mailing list