Basic Traffic Control in External Gateway

Registered by Nachi Ueno

Basic Traffic Control in External Gateway

Scope:
Now, all tenants shares external gateway. Main use case of the external gateway is internet connection.
Egress traffic in the internet connection is relatively expensive and important.
However, there are no traffic limit for each tenant, so one tenant may exhaust the all of outbound traffics.
so In this BP, we would like to implement very simple traffic control on the egress traffic on the external gateway.
Note the scope of this bp is very limited, because QoS function in general needs more discussion.

Use Cases:
Stop exhaust of external network connection by one tenant

Implementation Overview:
use tc command on external network port

Data Model Changes:
N/A

Configuration variables:

external_tc_rate = 100mbit #used for rate paramter for tc
external_tc_latency = 50ms #used for latency parameter for tc
external_tc_burst = 1500k #used for burst paramter for tc

( Also see tc-tbf(8) )

API's:
N/A

Plugin Interface:
N/A

Required Plugin support:
N/A

Dependencies:
N/A

CLI Requirements:
N/A

Horizon Requirements:
N/A

Blueprint information

Status:
Complete
Approver:
dan wendlandt
Priority:
Undefined
Drafter:
Nachi Ueno
Direction:
Needs approval
Assignee:
Nachi Ueno
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Armando Migliaccio

Related branches

Sprints

Whiteboard

You mention tc-tbf. This is just one of the queuing disciplines supported by tc. The QoS API blueprint [1] would cover them all, so we should look into merging blueprints.

[1] https://blueprints.launchpad.net/quantum/+spec/quantum-qos-api

Also, the external gateway may not be a Linux node with tc. It could be a dedicated switch/router with a different QoS command set than tc.

-- Henry

This use case is reasonable. Let's think about the business model. A tenant may apply for 10M bandwith for internet connection with payment of $**. Then the DC will set a traffic controll for this tenant. With well planning, every tenant can use the garenteed bandwith. More gateway nodes may be used for large number of tenants.

--Tianran

(?)

Work Items