SlideShare a Scribd company logo
DPDK QoS
May 17, 2015
Masaru OKI @masaru0714
● Linux上で動く、高速なパケットI/O処理を実現するためのライブラリ。
○ C言語で書かれている。C++からも呼び出し可能。
○ 特定のEthrenetポートを「DPDK専用」に切り替えて送受信する。
○ 特定のCPU(コア/スレッド)を「DPDK専用」として動作させる。
○ 受信パケットの単純転送で、10GbEワイヤーレートが出せる。
○ メモリープール管理やロックレスリングバッファなどの機能も提供。
○ ネットワークスタックは含まない。
● Intelが開発し、現在はhttp://dpdk.org/ にて開発が続いている。
● 2015年5月時点での最新バージョンはv2.0.0
● BSD Licenseで公開されている。
About DPDK
main() {
rte_mbuf *array[size]; /* パケット受信用バッファ */
init(); /* もろもろ初期化 */
for (;;) {
rte_eth_rx_burst(0, 0, array, size); /* API: portid 0のパケットを受信 */
rte_eth_tx_burst(1, 0, array, size); /* API: パケットをportid 1に送信 */
}
}
「パケットを受信」「データをパケットとして送信」がAPIになっているので呼び出す。
複数ポートを処理する場合はこれらを並べるか、スレッドを分けて並列に動かす。
DPDKのプログラム
QoS: Quality of Service (サービス品質)
通信パケットをすべて均等に扱うのではなく、種類や宛先、通信量等の
種類により流量を加減したり優先度を変えるなど、通信内容にに対して
要求される通信品質を適切に確保する技術および実装。
DPDKで提供されているQoSの実装は2つある。
● qos_meter: メータリング(パケットを流量によって3段階に色分けする)
● qos_sched: スケジューリング(優先度等によるパケットの並べ替え)
DPDKのQoS
RFCに基づく2種類のメータリングAPIが用意されている。
● RFC2697 srtcm (Single Rate Three Color Meter)
● RFC2698 trtcm (Two Rate Three Color Meter)
使い方
経過時間(Time Stamp Counterの値)とともにパケットをパラメータに与え
てrte_meter APIを呼び出すと、3種類のcolorのどれに相当するかが返っ
てくる。(パラメータ詳細はRFCやDPDKのドキュメントを参照)
○ GREEN
○ YELLOW
○ RED
ユーザプログラムはcolorに応じて処理をする。(REDはdropするなど)
DPDK QoS (meter)
階層化スケジューラが用意されている。
● あらかじめEthernetポートを論理的に分割しておく。
● 分割単位は階層化されている。
● ユーザプログラムは受信パケットに対して分割単位の情報を書き込む
● スケジューラは分割単位の優先度などに応じてパケットを並べ替える。
● スケジューラはキューを持っていて、あふれたパケットはdropされる。
階層は下記となっている。
1. Port
2. Subport
3. Pipe
4. Traffic Class
5. Queue
DPDK QoS (sched)
● Port
○ Ethernetポート。複数ポートの優先順位は均等。
● Subport
○ Portを単数あるいは複数に分割したもの。
○ それぞれ転送レートを指定できる。
● Pipe
○ Subportを単数あるいは複数に分割したもの。帯域は等分される。
● Traffic class
○ Pipeを流れるパケットを優先度別にクラスわけする。4クラス固定。
● Queue
○ Pipeを流れるパケットをキューイングする最小単位。
○ Traffic classごとに4固定。Weighted Round Robin(WRR)でdequeueされる。
QoS(sched)の各階層
4キュー
4クラス
図にするとこう
sched_port
subport 0 subport 1 subport 2
pipe 2pipe 1pipe 0 pipe 0 pipe 1
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
任意の帯域
pipe 1pipe 0subportを等分割
1. 準備
1.1. rte_eth_dev_configure()等でポートの使用準備
1.2. rte_sched_port_config()
1.3. rte_sched_subport_config()
1.4. rte_sched_pipe_config()
2. 送受信
2.1. rte_eth_rx_burst()でパケット受信
2.2. rte_sched_port_pkt_write()
2.3. rte_sched_port_enqueue()
2.4. rte_sched_port_dequeue()
2.5. rte_eth_tx_burst()でパケット送信
使い方
1. rte_sched_*_config
あらかじめスケジューリングの階層パラメータを設定
2. rte_sched_port_pkt_write
パケットをどのキューに入れるか情報を書き込み
3. rte_sched_port_enqueue
キューイングすると
4. rte_sched_port_dequeue
スケジューリング設定に応じた順序でパケットを取り出せる。
大雑把な解説
4キュー
4クラス
rte_sched_port_pkt_write()
subport 0 subport 1 subport 2
pipe 2pipe 1pipe 0 pipe 0 pipe 1
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3
tc0 tc1 tc2 tc3q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
任意の帯域
pipe 1pipe 0subportを等分割
パケットをどのキューに書き込むかを具体的に指定。
sched_port

More Related Content

What's hot

Fast Userspace OVS with AF_XDP, OVS CONF 2018
Fast Userspace OVS with AF_XDP, OVS CONF 2018Fast Userspace OVS with AF_XDP, OVS CONF 2018
Fast Userspace OVS with AF_XDP, OVS CONF 2018
Cheng-Chun William Tu
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDP
Daniel T. Lee
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
akira6592
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法Takuya ASADA
 
3GPP LTE Detailed explanation 4 (X2 Handover)
3GPP LTE Detailed explanation 4 (X2 Handover)3GPP LTE Detailed explanation 4 (X2 Handover)
3GPP LTE Detailed explanation 4 (X2 Handover)
Ryuichi Yasunaga
 
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のかIIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
techlog (Internet Initiative Japan Inc.)
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
VirtualTech Japan Inc.
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDK
Marian Marinov
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
Tetsuya Hasegawa
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
npsg
 
IIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについてIIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについて
techlog (Internet Initiative Japan Inc.)
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
Takashi Kajinami
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
 
Dpdk pmd
Dpdk pmdDpdk pmd
Dpdk pmd
Masaru Oki
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
Divye Kapoor
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
 

What's hot (20)

Fast Userspace OVS with AF_XDP, OVS CONF 2018
Fast Userspace OVS with AF_XDP, OVS CONF 2018Fast Userspace OVS with AF_XDP, OVS CONF 2018
Fast Userspace OVS with AF_XDP, OVS CONF 2018
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDP
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
3GPP LTE Detailed explanation 4 (X2 Handover)
3GPP LTE Detailed explanation 4 (X2 Handover)3GPP LTE Detailed explanation 4 (X2 Handover)
3GPP LTE Detailed explanation 4 (X2 Handover)
 
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のかIIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDK
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
IIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについてIIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについて
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
Dpdk pmd
Dpdk pmdDpdk pmd
Dpdk pmd
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 

Viewers also liked

Dpdk環境の話
Dpdk環境の話Dpdk環境の話
Dpdk環境の話
Masaru Oki
 
Cuaderno caligrafia anaya 2
Cuaderno caligrafia anaya 2Cuaderno caligrafia anaya 2
Cuaderno caligrafia anaya 2mjrivasmedina
 
8 Campaign Tactics if I am a 2016 Presidentiable
8 Campaign Tactics if I am a 2016 Presidentiable8 Campaign Tactics if I am a 2016 Presidentiable
8 Campaign Tactics if I am a 2016 Presidentiable
Jose Radin Garduque
 
8 Colorful Ideas for My Country (The Filipino Youth)
8 Colorful Ideas for My Country (The Filipino Youth)8 Colorful Ideas for My Country (The Filipino Youth)
8 Colorful Ideas for My Country (The Filipino Youth)
Jose Radin Garduque
 
Thailand (Socio-Cultural Setting)
Thailand (Socio-Cultural Setting)Thailand (Socio-Cultural Setting)
Thailand (Socio-Cultural Setting)
Jose Radin Garduque
 
Myanmar: Political Setting
Myanmar: Political SettingMyanmar: Political Setting
Myanmar: Political Setting
Jose Radin Garduque
 
Vietnam: Socio-Cultural Setting
Vietnam: Socio-Cultural SettingVietnam: Socio-Cultural Setting
Vietnam: Socio-Cultural Setting
Jose Radin Garduque
 
Cambodia
CambodiaCambodia
Lagopus on small arm board
Lagopus on small arm boardLagopus on small arm board
Lagopus on small arm board
Masaru Oki
 
Singapore: Political Setting
Singapore: Political SettingSingapore: Political Setting
Singapore: Political Setting
Jose Radin Garduque
 
Philippine Civil War Theories
Philippine Civil War TheoriesPhilippine Civil War Theories
Philippine Civil War Theories
Jose Radin Garduque
 
The One Who Deserves (Silent Protest)
The One Who Deserves (Silent Protest)The One Who Deserves (Silent Protest)
The One Who Deserves (Silent Protest)
Jose Radin Garduque
 
Dracula presentation with answers ok
Dracula presentation with answers okDracula presentation with answers ok
Dracula presentation with answers okalexteacherproa
 
Thailand (Political Setting)
Thailand (Political Setting)Thailand (Political Setting)
Thailand (Political Setting)
Jose Radin Garduque
 
PARADIGMAS URBANOS. Guía sitio 2016
PARADIGMAS URBANOS. Guía sitio 2016PARADIGMAS URBANOS. Guía sitio 2016
PARADIGMAS URBANOS. Guía sitio 2016
Arquitectura Civil
 
Indonesia: Socio-Cultural Setting
Indonesia: Socio-Cultural SettingIndonesia: Socio-Cultural Setting
Indonesia: Socio-Cultural Setting
Jose Radin Garduque
 
Bao cao thuc_tap
Bao cao thuc_tapBao cao thuc_tap
Bao cao thuc_tapTan Do
 

Viewers also liked (20)

Dpdk環境の話
Dpdk環境の話Dpdk環境の話
Dpdk環境の話
 
apps of nanotech
apps of nanotechapps of nanotech
apps of nanotech
 
Cuaderno caligrafia anaya 2
Cuaderno caligrafia anaya 2Cuaderno caligrafia anaya 2
Cuaderno caligrafia anaya 2
 
8 Campaign Tactics if I am a 2016 Presidentiable
8 Campaign Tactics if I am a 2016 Presidentiable8 Campaign Tactics if I am a 2016 Presidentiable
8 Campaign Tactics if I am a 2016 Presidentiable
 
8 Colorful Ideas for My Country (The Filipino Youth)
8 Colorful Ideas for My Country (The Filipino Youth)8 Colorful Ideas for My Country (The Filipino Youth)
8 Colorful Ideas for My Country (The Filipino Youth)
 
Thailand (Socio-Cultural Setting)
Thailand (Socio-Cultural Setting)Thailand (Socio-Cultural Setting)
Thailand (Socio-Cultural Setting)
 
Myanmar: Political Setting
Myanmar: Political SettingMyanmar: Political Setting
Myanmar: Political Setting
 
Vietnam: Socio-Cultural Setting
Vietnam: Socio-Cultural SettingVietnam: Socio-Cultural Setting
Vietnam: Socio-Cultural Setting
 
bls
blsbls
bls
 
Cambodia
CambodiaCambodia
Cambodia
 
Lagopus on small arm board
Lagopus on small arm boardLagopus on small arm board
Lagopus on small arm board
 
Singapore: Political Setting
Singapore: Political SettingSingapore: Political Setting
Singapore: Political Setting
 
Philippine Civil War Theories
Philippine Civil War TheoriesPhilippine Civil War Theories
Philippine Civil War Theories
 
The One Who Deserves (Silent Protest)
The One Who Deserves (Silent Protest)The One Who Deserves (Silent Protest)
The One Who Deserves (Silent Protest)
 
cgfh
cgfhcgfh
cgfh
 
Dracula presentation with answers ok
Dracula presentation with answers okDracula presentation with answers ok
Dracula presentation with answers ok
 
Thailand (Political Setting)
Thailand (Political Setting)Thailand (Political Setting)
Thailand (Political Setting)
 
PARADIGMAS URBANOS. Guía sitio 2016
PARADIGMAS URBANOS. Guía sitio 2016PARADIGMAS URBANOS. Guía sitio 2016
PARADIGMAS URBANOS. Guía sitio 2016
 
Indonesia: Socio-Cultural Setting
Indonesia: Socio-Cultural SettingIndonesia: Socio-Cultural Setting
Indonesia: Socio-Cultural Setting
 
Bao cao thuc_tap
Bao cao thuc_tapBao cao thuc_tap
Bao cao thuc_tap
 

Similar to DPDK QoS

DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
 
DPDKを拡張してみた話し
DPDKを拡張してみた話しDPDKを拡張してみた話し
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
 
20140310 fpgax
20140310 fpgax20140310 fpgax
20140310 fpgax
funadasatoshi
 
about Eucalyptus (20121026) NII
about Eucalyptus (20121026) NIIabout Eucalyptus (20121026) NII
about Eucalyptus (20121026) NIIOsamu Habuka
 
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
JUNICHI YOSHISE
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
Yuji Oshima
 
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Masahito Zembutsu
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentookubo39
 
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだGPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
y_uuki
 
TCP connectionの保存と復元
TCP connectionの保存と復元TCP connectionの保存と復元
TCP connectionの保存と復元mittyorz
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505
ykuga
 
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いHydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
Masakazu Asama
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Tomoya Hibi
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
Tomoya Hibi
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)milk hanakara
 

Similar to DPDK QoS (20)

DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
 
DPDKを拡張してみた話し
DPDKを拡張してみた話しDPDKを拡張してみた話し
DPDKを拡張してみた話し
 
20140310 fpgax
20140310 fpgax20140310 fpgax
20140310 fpgax
 
about Eucalyptus (20121026) NII
about Eucalyptus (20121026) NIIabout Eucalyptus (20121026) NII
about Eucalyptus (20121026) NII
 
Fpga local 20130322
Fpga local 20130322Fpga local 20130322
Fpga local 20130322
 
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
 
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
retrobsd-2012-JUL-07 at JNUG BSD BoF
retrobsd-2012-JUL-07 at JNUG BSD BoFretrobsd-2012-JUL-07 at JNUG BSD BoF
retrobsd-2012-JUL-07 at JNUG BSD BoF
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
 
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだGPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
 
TCP connectionの保存と復元
TCP connectionの保存と復元TCP connectionの保存と復元
TCP connectionの保存と復元
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505
 
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いHydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)
 

More from Masaru Oki

NetBSD移植の昔話
NetBSD移植の昔話NetBSD移植の昔話
NetBSD移植の昔話
Masaru Oki
 
Rust-DPDK
Rust-DPDKRust-DPDK
Rust-DPDK
Masaru Oki
 
Rust-DPDK
Rust-DPDKRust-DPDK
Rust-DPDK
Masaru Oki
 
Lagopusとvagrant
LagopusとvagrantLagopusとvagrant
Lagopusとvagrant
Masaru Oki
 
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Masaru Oki
 
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
Masaru Oki
 
GPD WINが来た!
GPD WINが来た!GPD WINが来た!
GPD WINが来た!
Masaru Oki
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
Masaru Oki
 
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Masaru Oki
 
LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件
Masaru Oki
 
Lagopus どれだけ速いのか
Lagopus どれだけ速いのかLagopus どれだけ速いのか
Lagopus どれだけ速いのか
Masaru Oki
 
Lagopus 0.2.7
Lagopus 0.2.7Lagopus 0.2.7
Lagopus 0.2.7
Masaru Oki
 
Ryu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみようRyu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみよう
Masaru Oki
 
Lagopus match improvements
Lagopus match improvementsLagopus match improvements
Lagopus match improvements
Masaru Oki
 
Lagopus 0.2.4
Lagopus 0.2.4Lagopus 0.2.4
Lagopus 0.2.4
Masaru Oki
 
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
Masaru Oki
 
Lagopus as open flow hybrid switch
Lagopus as open flow hybrid switchLagopus as open flow hybrid switch
Lagopus as open flow hybrid switch
Masaru Oki
 
Net bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpfNet bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpf
Masaru Oki
 
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Masaru Oki
 

More from Masaru Oki (20)

NetBSD移植の昔話
NetBSD移植の昔話NetBSD移植の昔話
NetBSD移植の昔話
 
Rust-DPDK
Rust-DPDKRust-DPDK
Rust-DPDK
 
Rust-DPDK
Rust-DPDKRust-DPDK
Rust-DPDK
 
Lagopusとvagrant
LagopusとvagrantLagopusとvagrant
Lagopusとvagrant
 
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
 
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
 
GPD WINが来た!
GPD WINが来た!GPD WINが来た!
GPD WINが来た!
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
 
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
 
LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件
 
Lagopus どれだけ速いのか
Lagopus どれだけ速いのかLagopus どれだけ速いのか
Lagopus どれだけ速いのか
 
Lagopus 0.2.7
Lagopus 0.2.7Lagopus 0.2.7
Lagopus 0.2.7
 
Ryu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみようRyu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみよう
 
Lagopus match improvements
Lagopus match improvementsLagopus match improvements
Lagopus match improvements
 
Lagopus 0.2.4
Lagopus 0.2.4Lagopus 0.2.4
Lagopus 0.2.4
 
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
 
Lagopus as open flow hybrid switch
Lagopus as open flow hybrid switchLagopus as open flow hybrid switch
Lagopus as open flow hybrid switch
 
Net bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpfNet bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpf
 
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
 

Recently uploaded

FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 

Recently uploaded (14)

FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 

DPDK QoS

  • 1. DPDK QoS May 17, 2015 Masaru OKI @masaru0714
  • 2. ● Linux上で動く、高速なパケットI/O処理を実現するためのライブラリ。 ○ C言語で書かれている。C++からも呼び出し可能。 ○ 特定のEthrenetポートを「DPDK専用」に切り替えて送受信する。 ○ 特定のCPU(コア/スレッド)を「DPDK専用」として動作させる。 ○ 受信パケットの単純転送で、10GbEワイヤーレートが出せる。 ○ メモリープール管理やロックレスリングバッファなどの機能も提供。 ○ ネットワークスタックは含まない。 ● Intelが開発し、現在はhttp://dpdk.org/ にて開発が続いている。 ● 2015年5月時点での最新バージョンはv2.0.0 ● BSD Licenseで公開されている。 About DPDK
  • 3. main() { rte_mbuf *array[size]; /* パケット受信用バッファ */ init(); /* もろもろ初期化 */ for (;;) { rte_eth_rx_burst(0, 0, array, size); /* API: portid 0のパケットを受信 */ rte_eth_tx_burst(1, 0, array, size); /* API: パケットをportid 1に送信 */ } } 「パケットを受信」「データをパケットとして送信」がAPIになっているので呼び出す。 複数ポートを処理する場合はこれらを並べるか、スレッドを分けて並列に動かす。 DPDKのプログラム
  • 4. QoS: Quality of Service (サービス品質) 通信パケットをすべて均等に扱うのではなく、種類や宛先、通信量等の 種類により流量を加減したり優先度を変えるなど、通信内容にに対して 要求される通信品質を適切に確保する技術および実装。 DPDKで提供されているQoSの実装は2つある。 ● qos_meter: メータリング(パケットを流量によって3段階に色分けする) ● qos_sched: スケジューリング(優先度等によるパケットの並べ替え) DPDKのQoS
  • 5. RFCに基づく2種類のメータリングAPIが用意されている。 ● RFC2697 srtcm (Single Rate Three Color Meter) ● RFC2698 trtcm (Two Rate Three Color Meter) 使い方 経過時間(Time Stamp Counterの値)とともにパケットをパラメータに与え てrte_meter APIを呼び出すと、3種類のcolorのどれに相当するかが返っ てくる。(パラメータ詳細はRFCやDPDKのドキュメントを参照) ○ GREEN ○ YELLOW ○ RED ユーザプログラムはcolorに応じて処理をする。(REDはdropするなど) DPDK QoS (meter)
  • 6. 階層化スケジューラが用意されている。 ● あらかじめEthernetポートを論理的に分割しておく。 ● 分割単位は階層化されている。 ● ユーザプログラムは受信パケットに対して分割単位の情報を書き込む ● スケジューラは分割単位の優先度などに応じてパケットを並べ替える。 ● スケジューラはキューを持っていて、あふれたパケットはdropされる。 階層は下記となっている。 1. Port 2. Subport 3. Pipe 4. Traffic Class 5. Queue DPDK QoS (sched)
  • 7. ● Port ○ Ethernetポート。複数ポートの優先順位は均等。 ● Subport ○ Portを単数あるいは複数に分割したもの。 ○ それぞれ転送レートを指定できる。 ● Pipe ○ Subportを単数あるいは複数に分割したもの。帯域は等分される。 ● Traffic class ○ Pipeを流れるパケットを優先度別にクラスわけする。4クラス固定。 ● Queue ○ Pipeを流れるパケットをキューイングする最小単位。 ○ Traffic classごとに4固定。Weighted Round Robin(WRR)でdequeueされる。 QoS(sched)の各階層
  • 8. 4キュー 4クラス 図にするとこう sched_port subport 0 subport 1 subport 2 pipe 2pipe 1pipe 0 pipe 0 pipe 1 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 任意の帯域 pipe 1pipe 0subportを等分割
  • 9. 1. 準備 1.1. rte_eth_dev_configure()等でポートの使用準備 1.2. rte_sched_port_config() 1.3. rte_sched_subport_config() 1.4. rte_sched_pipe_config() 2. 送受信 2.1. rte_eth_rx_burst()でパケット受信 2.2. rte_sched_port_pkt_write() 2.3. rte_sched_port_enqueue() 2.4. rte_sched_port_dequeue() 2.5. rte_eth_tx_burst()でパケット送信 使い方
  • 10. 1. rte_sched_*_config あらかじめスケジューリングの階層パラメータを設定 2. rte_sched_port_pkt_write パケットをどのキューに入れるか情報を書き込み 3. rte_sched_port_enqueue キューイングすると 4. rte_sched_port_dequeue スケジューリング設定に応じた順序でパケットを取り出せる。 大雑把な解説
  • 11. 4キュー 4クラス rte_sched_port_pkt_write() subport 0 subport 1 subport 2 pipe 2pipe 1pipe 0 pipe 0 pipe 1 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 任意の帯域 pipe 1pipe 0subportを等分割 パケットをどのキューに書き込むかを具体的に指定。 sched_port