[RFE] DSCP mark on the outer header
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Wishlist
|
Ali Sanhaji |
Bug Description
Problem Description
===================
The QoS rule for setting the DSCP, in the neutron QoS extension, is only
marking the IP header of VM packets, meaning that, when using overlay networks
and encapsulation (e.g., VxLAN, GRE) the DSCP mark is only visible in the
inner IP header and is not visible in the outer headers.
The underlay network requires the DSCP mark to be visible on the external
header in order to implement QoS and prioritize the traffic when needed.
Reflecting this DSCP mark in the outer Ethernet header is covered by [1] and [2].
API impact
==========
A new rule outer_dscp_marking can be added to set a value for the
outer DSCP mark. This value can either be "inherit", in order to
copy the inner dscp mark, or it can be a specific value in order
to dissociate the inner header value from outer header value and
allow further possibilities in the use of DSCP marks.
A mapping between the inner DSCP mark and outer DSCP mark could
later be made using the classifier defined in [3]
Proposal
========
Unlike the ECN field, the DSCP field is not automatically copied to the
outer header during encapsulation. If we want to copy the DSCP from
the inner header to the outer header, we need to set the tunnel interfaces
(e.g. VxLAN, GRE), in either OVS or LinuxBridge, with the option "tos inherit".
In order to set a specific DSCP value to the outer header, we must be able
to identify the encapsulated packet to put the right DSCP mark in the tunnel
header. A possibility is to use the "mark" field of the skb structure [4], which
stays unchanged after encapsulation. We could for instance set the "mark" field
in OVS or Linuxbridge before encapsulation, according to the policy attached to
the port or network, then match this field after encapsulation to identify
the inner header and set the right DSCP mark in the outer header.
References
==========
[1] https:/
[2] https:/
[3] https:/
[4] http://
Changed in neutron: | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
Changed in neutron: | |
assignee: | nobody → Ali Sanhaji (ali-sanhaji) |
Changed in neutron: | |
status: | Confirmed → In Progress |
Changed in neutron: | |
assignee: | Ali Sanhaji (ali-sanhaji) → Rodolfo Alonso (rodolfo-alonso-hernandez) |
Changed in neutron: | |
assignee: | Rodolfo Alonso (rodolfo-alonso-hernandez) → Ali Sanhaji (ali-sanhaji) |
Changed in neutron: | |
milestone: | none → queens-3 |
Hello, so, what's the next step concerning this RFE?