DPDK Userspace Summit 2022の概要メモ


# 概要
DPDK Userspace Summit 2022の発表をざっと見てみた。

- [動画リスト](https://www.youtube.com/playlist?list=PLo97Rhbj4ceLBwQ4QDNZ6kXwXpt6_ZAjd)
- [Schedule](https://dpdkuserspace22.sched.com/)

## 講演項目
- ethdev (ネットワークパケット系）
  - パケット処理
    - vhost-netの仮想化系 ([vhost-userの仮想化](https://qiita.com/drafts#virtualization-of-dpdk-applications-using-virtio-vhost-user---usama-arif-tiktok) や、[VDUSEのDPDK対応](https://qiita.com/drafts#open-dpdk-to-containers-networking-with-vduse---maxime-coquelin-red-hat)など）
    - `rte_flow API`の処理高速化 (現時点では、NVIDIA/Mellanox限定だが、[Template](https://qiita.com/drafts#template-and-asynchronous-api-abstract---ori-kam-nvidia)や[Connection Tracking](https://qiita.com/drafts#heterogeneous-computing-solution---alex-vesker-nvidia)など)
    - [GPU-DPDKによる (NIC-GPU間の) パケット処理](https://qiita.com/drafts#dpdk-in-real-time-gpu-packet-processing-applications---elena-agostini-nvidia) (NVIDIA-GPU限定機能)
    - [P4-DPDKによる (プログラマブル) パケット処理の2022年に入った新機能](https://qiita.com/drafts#do-not-develop-from-scratch-simply-write-p4-and-get-dpdk---cristian-dumitrescu-intel)
    - [PREEMPT_RT+Open vSwitch (OVS) によるリアルタイムパケット処理](https://qiita.com/drafts#using-dpdk--ovs-for-deterministic-low-latency-communication---felix-moessbauer--henning-schild-siemens-ag)
  - [ブート時間短縮](https://qiita.com/drafts#booting-dpdk-application-quickly-by-device-composition---yahui-cao--jingjing-wu-intel) (Intel限定) , [メモリ管理改善](https://qiita.com/drafts#dpdk-memory-allocation-optimization---liang-ma-tiktok)
  - テストフレームワーク系 ([テストセット(DTS)](https://qiita.com/drafts#dts-working-group-updates---honnappa-nagarahalli-arm)や、[rte_flowチェッカー](https://qiita.com/drafts#what-rte-flow-rules-can-your-nic-offload---david-vod%C3%A1k--kamil-vojanec-cesnet)）
  - ツール系 ([トレース](https://qiita.com/drafts#designimplementationusage-of-dpdk-trace-subsystem---jerin-jacob-marvell)、[トラフィック生成ライブラリの提案](https://qiita.com/drafts#dpdk-and-latency--a-tale-of-a-handmade-traffic-generator---harry-van-haaren-intel)、[端末での監視ツール](https://qiita.com/drafts#dpdk-terminal-stats-viewer---conor-walsh-intel)、[Graphライブラリの遠隔タスク投入機能紹介](https://qiita.com/drafts#graph-introduce-remote-dispatch-for-multi-core-scaling---zhirun-yan--jingjing-wu-intel))
  - DPDKの活用 ([IDSツールSuricataでのDPDK向けのパケットキャプチャ](https://qiita.com/drafts#accelerating-suricata-with-dpdk---lukas-sismis-cesnet), [Intel Media Transformer](https://qiita.com/drafts#real-time-and-low-latency-media-transport-stack-based-on-dpdk---ping-yu--frank-du-intel))
- eventdev, cryptodev, dmadev　(イベント処理、暗号処理、メモリコピーオフロードなど)
  - イベント処理 [Dynamic Load Balancing](https://qiita.com/drafts#dynamic-load-balancing-and-scaling-ipsec-workloads---declan-doherty-intel)
  - セキュリティ機能強化 ([rte_security(MACsec)](https://qiita.com/drafts#rte_security-support-for-inline-macsec---akhil-goyal-marvell-semiconductors)や[非対称暗号機能説明](https://qiita.com/drafts#a-refined-comprehensive-dpdk-cryptodev-asymmetric-cryptodev-framework---fan-zhang--kai-ji-intel))
  - [コピーオフロードフレームワーク (dmadev) の紹介](https://qiita.com/drafts#dpdk-dmadev-interface---the-design-and-use-of-the-copy-offload-apis---bruce-richardson-intel)
 
## Virtualization of DPDK applications using virtio-vhost-user - Usama Arif, TikTok

vhostは、hypervisorでデータオフロードを行う機構である。このデータオフロード機構は、2種類あり (kernel driverの) vhost-netおよび (userspace) vhost-userがある。ここでは、ユーザ空間の機能であるvhost-userについて考察する。なぜ、このvhost-user機構の**仮想化**が必要な理由は、ホストカーネルの更新時間の短縮、VM内のセキュリティ強化の観点等からである。そして、**仮想化**はホスト側の対応（QemuとDPDK)が必要になる。これにより、ダウンタイムが、1秒程度から半分に改善された。

- [Virtualization of DPDK applications using virtio-vhost-user - Usama Arif, TikTok](https://dpdkuserspace22.sched.com/event/17v0u/virtualization-of-dpdk-applications-using-virtio-vhost-user-usama-arif-tiktok)
  - [Virtualization of DPDK applications using virtio-vhost-user - Usama Arif, TikTok](https://www.youtube.com/watch?v=uYzsL06MdqE)



### パッチ
メインラインには取り込まれていない。

- [[RFC,0/2] virtio-vhost-user: add virtio-vhost-user device](http://patchwork.ozlabs.org/project/qemu-devel/cover/20180119130653.24044-1-stefanha@redhat.com/)

## Vhost-user Live Upgrade Optimization - ZhiHong Wang, ByteDance
大量のポートの接続を、切断・再接続すると時間がかかる。このため、デバイスメモリ領域および接続状態(vhost-user state migration)を、まとめて他のマシンに送ることによりダウンタイムを短縮した。
なお、パッチについては、投稿されていない。


- [Vhost-user Live Upgrade Optimization - ZhiHong Wang, ByteDance](https://dpdkuserspace22.sched.com/event/17v0y/vhost-user-live-upgrade-optimization-zhihong-wang-bytedance)
  - [Vhost-user Live Upgrade Optimization - ZhiHong Wang, ByteDance](https://www.youtube.com/watch?v=S-ZET7NVxSg)


## Open DPDK to containers networking with VDUSE - Maxime Coquelin, Red Hat
vDPA device in userspace (VDUSE) は、ユーザー空間でのvirtio データプレーンである。vhost-userとは異なり、VDUSEデバイスは、カーネル空間のvDPA busと接続する。そして、VDUSEがコンテナネットワークで使えることを紹介する。最後に、DPDK vhostライブラリとの接続の開発状況を紹介する。
なお、パッチは開発中であり、メインラインには投稿されていない。しかし、プレゼン資料にある通り、githubで見ることはできる。また、LinuxカーネルでのVDUSEドライバは、5.15 (2021/11) からであり、かなり新しいカーネルを使う必要がある。

- [Open DPDK to containers networking with VDUSE - Maxime Coquelin, Red Hat](https://dpdkuserspace22.sched.com/event/17v1V/open-dpdk-to-containers-networking-with-vduse-maxime-coquelin-red-hat)
  - [Open DPDK to containers networking with VDUSE - Maxime Coquelin, Red Hat](https://www.youtube.com/watch?v=lUnLvqCITKM)

### パッチ

パッチは開発中であり、メインラインには投稿されていない。しかし、プレゼン資料にある通り、githubで見ることはできる。また、LinuxカーネルでのVDUSEドライバは、5.15 (2021/11) からであり、かなり新しいカーネルを使う必要がある。


### 参考資料

- [Introduction to vDPA kernel framework](https://www.redhat.com/ja/blog/introduction-vdpa-kernel-framework)
- [Introducing VDUSE: a software-defined datapath for virtio](https://www.redhat.com/en/blog/introducing-vduse-software-defined-datapath-virtio)
- [Programmer’s Guide](https://doc.dpdk.org/guides/prog_guide/index.html)
  - [55. Vhost Library](https://doc.dpdk.org/guides/prog_guide/vhost_lib.html)
- Linux 5.15 
  - [7. Virtualization](https://kernelnewbies.org/Linux_5.15#Virtualization)
- [virtio Data Path Acceleration](https://vdpa-dev.gitlab.io/)


## A Refined Comprehensive DPDK Cryptodev Asymmetric Cryptodev Framework - Fan Zhang & Kai Ji, Intel
DPDK 22.07現在の状況について


- [A Refined Comprehensive DPDK Cryptodev Asymmetric Cryptodev Framework - Fan Zhang & Kai Ji, Intel](https://dpdkuserspace22.sched.com/event/17v1m/a-refined-comprehensive-dpdk-cryptodev-asymmetric-cryptodev-framework-fan-zhang-kai-ji-intel)
  - [A Refined Comprehensive DPDK Cryptodev Asymmetric Cryptodev Framework - Fan Zhang & Kai Ji, Intel](https://www.youtube.com/watch?v=Vxf7Rye4Rrc) 


## Booting DPDK application quickly by device composition - Yahui Cao & Jingjing Wu, Intel
SR-IOV VF等では、起動時のデバイスプルーブで100ms単位で時間がかかっている。ここでは、Scalable IOV (S-IOV)を利用して、5倍程度起動時間を改善した。なお、XDPでは、デバイスプルーブが不要のため早く立ち上がる。ここでは、仮想化を行い起動時間を短縮する。


- [Booting DPDK application quickly by device composition - Yahui Cao & Jingjing Wu, Intel](https://dpdkuserspace22.sched.com/event/17v1g/booting-dpdk-application-quickly-by-device-composition-yahui-cao-jingjing-wu-intel)
  - [Booting DPDK application quickly by device composition - Yahui Cao & Jingjing Wu, Intel](https://www.youtube.com/watch?v=0ljZ0cfOnZU) 


- [Introducing Intel® Scalable I/O Virtualization](https://www.intel.com/content/www/us/en/developer/articles/technical/introducing-intel-scalable-io-virtualization.html)

[![DPDK(Youtube)](https://img.youtube.com/vi/0ljZ0cfOnZU/0.jpg)](https://www.youtube.com/embed/0ljZ0cfOnZU)

## rte_security: support for inline MACsec - Akhil Goyal, Marvell Semiconductors
MAC層(Layer 2)のセキュリティプロトコルの実装の説明。説明時点(2022/09)では、マージ前であった。そして、22.11でマージされた。

- [rte_security: support for inline MACsec - Akhil Goyal, Marvell Semiconductors](https://dpdkuserspace22.sched.com/event/17v1w/rtesecurity-support-for-inline-macsec-akhil-goyal-marvell-semiconductors)
  - [rte_security: support for inline MACsec - Akhil Goyal, Marvell Semiconductors](https://www.youtube.com/watch?v=wUBTrN6qC7o) 
- [Programmer’s Guide](https://doc.dpdk.org/guides/prog_guide/index.html)
  - [23. Security Library](https://doc.dpdk.org/guides/prog_guide/rte_security.html)
    - [23.1.6. MACSEC Protocol](https://doc.dpdk.org/guides/prog_guide/rte_security.html#macsec-protocol)

### パッチ(22.11で取り込み済み)
- [security: support MACsec](https://github.com/DPDK/dpdk/commit/bbbe6c596b284909e4112ac9573b16da2137ffab) 

[![DPDK(Youtube)](https://img.youtube.com/vi/wUBTrN6qC7o/0.jpg)](https://www.youtube.com/embed/wUBTrN6qC7o)

## DPDK "dmadev" Interface - The design and use of the copy-offload APIs - Bruce Richardson, Intel

2022.11以前は、rawdevと呼ばれていたデバイスとホストとのコピーオフロード機能を、22.11よりdmadevとして、抽象化フレームワークを導入した。なお、(DPDK Usersummit発表資料)Option 2のモデルを利用しており、ethdevのモデルとは異なる。
なお、Intelとしては、Sapphire Rapidsから導入されたData Streaming Acceleratorに相当する。(ENQCMD命令相当)

- [DPDK "dmadev" Interface - The design and use of the copy-offload APIs - Bruce Richardson, Intel](https://dpdkuserspace22.sched.com/event/17v24/dpdk-dmadev-interface-the-design-and-use-of-the-copy-offload-apis-bruce-richardson-intel)
  - [DPDK "dmadev" Interface - The design and use of the copy-offload APIs - Bruce Richardson, Intel](https://www.youtube.com/watch?v=54TCuqW5iF0&list=PLo97Rhbj4ceLBwQ4QDNZ6kXwXpt6_ZAjd&index=7) 

[![DPDK(Youtube)](https://img.youtube.com/vi/54TCuqW5iF0/0.jpg)](https://www.youtube.com/watch?v=54TCuqW5iF0)

### 文書
#### DPDK
- [DMA Device Drivers](https://doc.dpdk.org/guides/dmadevs/index.html) 
- [Programmer’s Guide](https://doc.dpdk.org/guides/prog_guide/index.html) 
  - [21. DMA Device Library](https://doc.dpdk.org/guides/prog_guide/dmadev.html)   
- [Sample Applications User Guides](https://doc.dpdk.org/guides/sample_app_ug/index.html)
  - [14. Packet copying using DMAdev library](https://doc.dpdk.org/guides/sample_app_ug/dma.html)
#### Intel
- [Intel® Data Streaming Accelerator (DSA) - Packet Copy Offload in DPDK with Intel® DSA Technology Guide](https://networkbuilders.intel.com/solutionslibrary/intel-data-streaming-accelerator-packet-copy-offload-dpdk-technology-guide)


## DPDK Memory Allocation Optimization - Liang Ma, TikTok


- 評価
  - 最悪値 mallocの繰り返しで、数10%の性能改善
  - 最良値 malloc/freeの繰り返しで、10倍近く性能改善 

- [DPDK Memory Allocation Optimization - Liang Ma, TikTok](https://dpdkuserspace22.sched.com/event/17v27/dpdk-memory-allocation-optimization-liang-ma-tiktok)
  - [DPDK Memory Allocation Optimization - Liang Ma, TikTok](https://www.youtube.com/watch?v=YghmGLyqrVg)
- 質問
  - (Q)tcmalloc等既存のライブラリがあるのに何でメモリ割り当ての新たなアルゴリズムを作ったの？
  - (A)よく聞かれる。想定するメモリアクセスパターンが異なる。
### パッチ
- 実運用等でのテスト等を考慮して最終的にパッチを出す予定

## Template and Asynchronous API abstract - Ori Kam, NVIDIA
rte_flowは、DPDK17.02から導入されている。これにより、様々なフロー制御を行ってきた。しかし、
1) 制御すべきフローの数等がけた違いに増えてきていること、
2) 使うべきNICオフロード機能がパケット依存となり複雑化している。

という要件があり、Template APIを22.03よりサポートしている。これにより、非同期APIおよびマルチスレッドでの処理が可能になっている。
現時点(2023/01)では、NVIDIA/MellanoxのNIC限定の機能である。

- [Template and Asynchronous API abstract - Ori Kam, NVIDIA](https://dpdkuserspace22.sched.com/event/17v2G/template-and-asynchronous-api-abstract-ori-kam-nvidia)
  - [Template and Asynchronous API abstract - Ori Kam, NVIDIA](https://www.youtube.com/watch?v=YuC9Mx5iYMk&list=PLo97Rhbj4ceLBwQ4QDNZ6kXwXpt6_ZAjd&index=9&t=5s) 

### パッチ (22.03で適用済み)
- [ethdev: add flow item/action templates](https://github.com/DPDK/dpdk/commit/f076bcfbcf1dac45d42f3fa77db6a2ef7f93e15f)


## Accelerating Suricata with DPDK - Lukas Sismis, CESNET
OSSのIDSツールのSuricataでのDPDKによる処理高速化の話

- [Accelerating Suricata with DPDK - Lukas Sismis, CESNET](https://dpdkuserspace22.sched.com/event/17v2J/accelerating-suricata-with-dpdk-lukas-sismis-cesnet)
  - [Accelerating Suricata with DPDK - Lukas Sismis, CESNET](https://www.youtube.com/watch?v=TtiR74w3Yv4)
- [Suricata](https://suricata.io/)
  - [dpdk: initial support with workers runmode](https://github.com/OISF/suricata/commit/a7faed12450b85e9108868861723741fc93716fa) # **DPDKワーカ取り込みパッチ 2021/12取り込み**

## DTS Working Group Updates - Honnappa Nagarahalli, ARM
DPDK Test Suite (DTS)のWorking Groupの状況報告。

- [DTS Working Group Updates - Honnappa Nagarahalli, ARM](https://dpdkuserspace22.sched.com/event/17v2T/dts-working-group-updates-honnappa-nagarahalli-arm)
  - [DTS Working Group Updates - Honnappa Nagarahalli, ARM](https://www.youtube.com/watch?v=Q95W0YaqzCQ&list=PLo97Rhbj4ceLBwQ4QDNZ6kXwXpt6_ZAjd&index=12)

## Heterogeneous Computing Solution - Alex Vesker, NVIDIA
`rte_flow`の`Template API`に加えて、Connection Tracking 機能をホスト側およびデバイス側に実装(ひと月程度)で実装して性能改善をした話。
現時点(2023/01)で、NVIDIA/MellanoxのNIC限定の機能である。

- [Heterogeneous Computing Solution - Alex Vesker, NVIDIA](https://dpdkuserspace22.sched.com/event/17v6i/heterogeneous-computing-solution-alex-vesker-nvidia)
  - [Heterogeneous Computing Solution - Alex Vesker, NVIDIA](https://www.youtube.com/watch?v=XQ6L6hqdcls) 
### パッチ
- まだ出ていない。

## DPDK in real-time GPU packet processing applications - Elena Agostini, NVIDIA
GPUとNICを直にデータを流して、パケット処理を行うGPU-DPDKの紹介である。DPDK 21.11から導入されている機能である。アプリケーションとして、NVIDIA Aerial(5G DU), NVIDIA Morphis(セキュリティ), FRB detection with NenuFAR(電波天文)を紹介している。

- [DPDK in real-time GPU packet processing applications - Elena Agostini, NVIDIA](https://dpdkuserspace22.sched.com/event/17v6y/dpdk-in-real-time-gpu-packet-processing-applications-elena-agostini-nvidia)
  - [DPDK in real-time GPU packet processing applications - Elena Agostini, NVIDIA](https://www.youtube.com/watch?v=_-_Wlxjq0co) 
- [NVIDIA/l2fwd-nv](https://github.com/NVIDIA/l2fwd-nv)
- [22. General-Purpose Graphics Processing Unit Library](https://doc.dpdk.org/guides/prog_guide/gpudev.html)
- [General-Purpose Graphics Processing Unit Drivers](https://doc.dpdk.org/guides/gpus/index.html)

## Real-time and low latency media transport stack based on DPDK - Ping Yu & Frank Du, Intel
マルチメディア(SMPTE ST2110)に関するIntel Media Transportの話。Linuxでのサポート状況及び、Windowsでの状況について説明している。なお、DPDKの概要説明は参考になるかもしれない。


- [Real-time and low latency media transport stack based on DPDK - Ping Yu & Frank Du, Intel](https://dpdkuserspace22.sched.com/event/17v7M/real-time-and-low-latency-media-transport-stack-based-on-dpdk-ping-yu-frank-du-intel)
  - [Real-time and low latency media transport stack based on DPDK - Ping Yu & Frank Du, Intel](https://www.youtube.com/watch?v=fiiOvHezpBs&list=PLo97Rhbj4ceLBwQ4QDNZ6kXwXpt6_ZAjd&index=14)

### パッチ
DPDK側のパッチは、22.11から揃っているらしい。
- [[PATCH v4 0/4] support protocol based buffer split](https://inbox.dpdk.org/dev/20220920111243.1290998-1-yuanx.wang@intel.com/)


## Graph: introduce remote dispatch for multi-core scaling - Zhirun Yan & Jingjing Wu, Intel
DPDKのデータプロセッシング用ライブラリgraph libのマルチコアでスケールするための遠隔タスク投入機能の提案(パッチの説明に近い)

- [Graph: introduce remote dispatch for multi-core scaling - Zhirun Yan & Jingjing Wu, Intel](https://dpdkuserspace22.sched.com/event/17v7s/graph-introduce-remote-dispatch-for-multi-core-scaling-zhirun-yan-jingjing-wu-intel)
  - [Graph: introduce remote dispatch for multi-core scaling - Zhirun Yan & Jingjing Wu, Intel](https://www.youtube.com/watch?v=L5awmcoKelU)

- [60. Graph Library and Inbuilt Nodes](https://doc.dpdk.org/guides/prog_guide/graph_lib.html)
- [21. L3 Forwarding Graph Sample Application](https://doc.dpdk.org/guides/sample_app_ug/l3_forward_graph.html)

### パッチ(未取り込み)
- [Subject: [PATCH v1 00/13] graph enhancement for multi-core dispatch](https://lore.kernel.org/all/20221117050926.136974-1-zhirun.yan@intel.com/) 

## Do not develop from scratch, simply write P4 and get DPDK - Cristian Dumitrescu, Intel

IPDKのデバイス(ネットワークスイッチ)の一つとして、P4言語を使ってプログラマブルにする方法がある。P4では、デバイスの一つとして、P4-DPDKを使える(DPDK 20.11より)。その方法の紹介と最新追加機能の紹介をしている。ここ1年の最新機能として、SmartNIC対応Portable NIC Architecture (PNA)に対応した等がある。
P4は、DPDKでPipelineモデルで実装している。

- [Do not develop from scratch, simply write P4 and get DPDK - Cristian Dumitrescu, Intel](https://dpdkuserspace22.sched.com/event/17v85/do-not-develop-from-scratch-simply-write-p4-and-get-dpdk-cristian-dumitrescu-intel)
  - [Do not develop from scratch, simply write P4 and get DPDK - Cristian Dumitrescu, Intel](https://www.youtube.com/watch?v=dPvH_joaScA) 

### P4-DPDK一般
- [p4c/DPDK backend](https://github.com/p4lang/p4c/tree/main/backends/dpdk) # **P4-DPDKの使い方**
- [P4 DPDK target notes](https://github.com/Yi-Tseng/p4-dpdk-target-notes)
- [Programmer’s Guide](https://doc.dpdk.org/guides/prog_guide/index.html)
  - [54. Packet Framework](https://doc.dpdk.org/guides/prog_guide/packet_framework.html)
    - [54.8. The Software Switch (SWX) Pipeline](https://doc.dpdk.org/guides/prog_guide/packet_framework.html#the-software-switch-swx-pipeline)
- [Sample Applications User Guides](https://doc.dpdk.org/guides/sample_app_ug/index.html)
  - [39. Pipeline Application](https://doc.dpdk.org/guides/sample_app_ug/pipeline.html)
- [2022 P4 Workshop On-Demand](https://opennetworking.org/2022-p4-workshop-gated/)
  - [Develop your CPU network stack in P4](https://opennetworking.org/wp-content/uploads/2022/05/Cristian-Dumitrescu-Final-Slide-Deck.pdf)
    - 発表資料が、この資料と類似している。  

- Pipelineの説明
  - [DPDKの設計モデル ～DPDK入門 第11回～](https://www.ntt-tx.co.jp/column/dpdk_blog/200526/)

### IPDKの紹介
- [Introducing IPDK](https://opennetworking.org/wp-content/uploads/2022/05/Deb-Chatterjee-Final-Slide-Deck.pdf)
- [Infrastructure Programmer Development Kit (IPDK)](https://ipdk.io/)
- [IPDKをKVM仮想マシン環境で試してみる](https://www.apresiatac.jp/blog/202207226950/)

## Using DPDK + OVS for deterministic low-latency communication - Felix Moessbauer & Henning Schild, Siemens AG
リアルタイムLinux (PREEMPT_RT)を用いたDPDK+OVSスイッチの構築と評価。80us以内の処理としては十分な性能を出している。


- [Using DPDK + OVS for deterministic low-latency communication - Felix Moessbauer & Henning Schild, Siemens AG](https://dpdkuserspace22.sched.com/event/17v8W/using-dpdk-ovs-for-deterministic-low-latency-communication-felix-moessbauer-henning-schild-siemens-ag)
  -  [Using DPDK + OVS for deterministic low-latency communication - Felix Moessbauer & Henning Schild](https://www.youtube.com/watch?v=rPJF8byJ3nU&list=PLo97Rhbj4ceLBwQ4QDNZ6kXwXpt6_ZAjd&index=17)

### パッチ
以下のパッチは見た範囲では取り込まれていない。
- [[PATCH v6 0/2] Add l2reflect measurement application](https://lore.kernel.org/all/20220902084533.675698-1-felix.moessbauer@siemens.com/T/)



## DPDK and Latency : A tale of a Handmade Traffic Generator - Harry van Haaren, Intel
Traffic Generatorライブラリの提案とその紹介

- [DPDK and Latency : A tale of a Handmade Traffic Generator - Harry van Haaren, Intel](https://dpdkuserspace22.sched.com/event/17v8c/dpdk-and-latency-a-tale-of-a-handmade-traffic-generator-harry-van-haaren-intel)
  - [DPDK and Latency : A tale of a Handmade Traffic Generator - Harry van Haaren, Intel](https://www.youtube.com/watch?v=Djcjq59H1uo) 

### パッチ
2022/1に投稿されているが、2023/1現在未取り込み

- [[PATCH v2 00/15] add packet generator library and example app](https://inbox.dpdk.org/dev/20220121103122.2926856-1-ronan.randles@intel.com/)

## DPDK Terminal Stats Viewer - Conor Walsh, Intel
端末用のDPDK性能監視ツール。従来のように、垂れ流しではなく、topのように更新して表示する。


- [DPDK Terminal Stats Viewer - Conor Walsh, Intel](https://dpdkuserspace22.sched.com/event/17v95/dpdk-terminal-stats-viewer-conor-walsh-intel)
  - [DPDK Terminal Stats Viewer - Conor Walsh, Intel](https://www.youtube.com/watch?v=CDWSQs3G5u4&list=PLo97Rhbj4ceLBwQ4QDNZ6kXwXpt6_ZAjd&index=20) 
### パッチ 
2023/1/4時点では取り込まれていない。
  - [Subject: [PATCH v2 2/2] usertools/telemetry: add new telemetry client](https://lore.kernel.org/all/20220831115250.362189-2-conor.walsh@intel.com/)

## What RTE Flow rules can your NIC offload? - David Vodák & Kamil Vojanec, Cesnet
RTE Flow Checkerの紹介。現時点では、OSSになっていない。将来的にDPDK Test Suite (DTS)に取り込まれるとよいという話が出ていた。

- [What RTE Flow rules can your NIC offload? - David Vodák & Kamil Vojanec, Cesnet](https://dpdkuserspace22.sched.com/event/17v9U/what-rte-flow-rules-can-your-nic-offload-david-vodak-kamil-vojanec-cesnet)
  - [What RTE Flow rules can your NIC offload? - David Vodák & Kamil Vojanec, Cesnet](https://www.youtube.com/watch?v=LpV8NEpPYHw)



## Design/Implementation/Usage of DPDK Trace subsystem - Jerin Jacob, Marvell
DPDK 22.05から導入されたTrace機能について概要とその使い方(CUI/GUI)の解説

- [Design/Implementation/Usage of DPDK Trace subsystem - Jerin Jacob, Marvell](https://dpdkuserspace22.sched.com/event/17v9o/designimplementationusage-of-dpdk-trace-subsystem-jerin-jacob-marvell)
  - [Design/Implementation/Usage of DPDK Trace subsystem - Jerin Jacob, Marvell](https://www.youtube.com/watch?v=lr8ZWQFa1bI) 
- (Programmers Guide) [6. Trace Library](https://doc.dpdk.org/guides/prog_guide/trace_lib.html)
  - [Common Trace Format](https://diamon.org/ctf/)
  - Tool
    - [babeltrace (CUI)](https://babeltrace.org/)
    - [Trace Compass (GUI)](https://www.eclipse.org/tracecompass/)



## Dynamic Load Balancing and Scaling IPSEC Workloads - Declan Doherty, Intel

IntelのSapphire Rapidsから組み込まれたDynamic Load Balancer (DLB)を使った事例の紹介です。
IPsec GWを例にして、Packet Processingがスケールして早くなると説明しています。
複数の処理が何層にも入り組んだ場合に便利に見えます。

- [Dynamic Load Balancing and Scaling IPSEC Workloads - Declan Doherty, Intel](https://dpdkuserspace22.sched.com/event/17vA0/dynamic-load-balancing-and-scaling-ipsec-workloads-declan-doherty-intel)
  - [Dynamic Load Balancing and Scaling IPSEC Workloads - Declan Doherty, Intel](https://www.youtube.com/watch?v=7XLx9wFzK0U)
- [1. Event Device Supported Functionality Matrices](https://doc.dpdk.org/guides/eventdevs/overview.html)
- [12. dpdk-test-eventdev Application](https://doc.dpdk.org/guides/tools/testeventdev.html)
- [45. IPsec Security Gateway Sample Application](https://doc.dpdk.org/guides/sample_app_ug/ipsec_secgw.html)
### パッチ
すでに入っているパッチの紹介だと思う。