SlideShare a Scribd company logo
1 of 13
Cost of OVS receiving
       process
        @syuu1228
http://bit.ly/kernelvm_study_1
http://bit.ly/kernelvm_study_1_slide
Bridgeの話
FDB: Forwarding
               Database
•   256エントリのフォワーディング先データベース(キャッシュ)

•   構造体エントリ

    •   fdb->addr: MACアドレス

    •   fdb->dst: フォワード先NIC

•   パケット着信毎に以下の作業を実施

    •   FDB上のエントリのaddrとパケットの送信元アドレスを順に比較して、一致するエ
        ントリがあったらdstを更新

        •   無かったら新しいエントリを作成

    •   FDB上のエントリのaddrとパケットの送信先アドレスを順に比較して、一致するエ
        ントリがあったらdstへパケット転送

        •   無かったら全ポートにパケット転送(flooding)
bridgeのコスト

1. foreach(fdb) /* < 256 entry */
   if (memcmp(fdb->addr, source_addr))
       update(fdb, source_port, source_addr)
2. foreach(fdb) /* < 256 entry */
   if (memcmp(fdb->addr, dest_addr))
       xmit(fdb->dst, packet)
OpenVSwitchの話
Key作成
•   ovs_flow_extract()でskbからsw_flow_key構造体へ以下の要素をコピー

    •   MACアドレス - memcpy

    •   IPv4
        •   アドレス - pointer

        •   プロトコル - value

        •   TOS - value
        •   TTL - value
    •   TCP
        •   ポート番号 - value
ハッシュ生成


• jhash関数でsw_flow_key構造体をハッ
 シュ
テーブルルックアップ
1. ハッシュ値からbucketを検索

2. bucketをイテレートして各エントリのkey
 と先ほど作ったkeyをmemcmp

3. 一致したらreturnで返す

4. 見つからなかったらユーザランドのデー
 モンへ聞きに行く
ACTIONの実行

• テーブルに登録されていたエントリに
 はフローに対するACTION群が登録さ
 れている

• ACTIONを開いて順に実施
ACTIONの種類
•   OVS_ACTION_ATTR_OUTPUT
    •   指定されたNICへパケット出力

•   OVS_ACTION_ATTR_USERSPACE
    •   ユーザランドでパケットハンドル

•   OVS_ACTION_ATTR_PUSH_VLAN
    •   VLANタグをパケットに書き込み

•   OVS_ACTION_ATTR_POP_VLAN
    •   VLANタグをパケットから削除

•   OVS_ACTION_ATTR_SET
    •   パケットヘッダの書き換え(priority、MACヘッダ、IPヘッダ、TCP/UDPヘッダ)

•   OVS_ACTION_ATTR_SAMPLE
    •   上述のACTIONを実施するが、最終的にパケットをネットワークスタックへ引き渡
        す(このノードで受信することを意図している?)
Netlink
•   ユーザランドとのやり取りにNetlinkを使用
    (よく知らないので詳しい人教えて下さい)

•   ソケットインタフェースでカーネルと通信でき
    る?

•   ユーザランドとのパケットやり取りに使用

•   ユーザランドからカーネルモジュールをコント
    ロールするのにも使用?
疑問点
•   何故skb->hashを使わないでわざわざkeyを作って改めて
    ハッシュを計算するのか(非効率じゃない?)

•   どんな時にユーザランドへ上げるのだろう?(特に
    OVS_ACTION_ATTR_USERSPACE)

•   bridge compatibleなioctlのハンドラはどこ?
    →mainlineからは削られてたっぽい?

•   OVS独自なコントロール操作はどこ?

•   OVS_ACTION_ATTR_SAMPLEの用途は?

More Related Content

What's hot

OpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみようOpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみよう
Kimihiko Kitase
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合
hiboma
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
Takuya ASADA
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能について
shigeki_ohtsu
 
6.2 reconciling amortization and persistence
6.2 reconciling amortization and persistence6.2 reconciling amortization and persistence
6.2 reconciling amortization and persistence
Hironobu Kinugawa
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
Redisととあるシステム
Takehiro Torigaki
 
Electronについて
ElectronについてElectronについて
Electronについて
tomowata
 

What's hot (20)

Kubernetesできること
KubernetesできることKubernetesできること
Kubernetesできること
 
OpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみようOpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみよう
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2
 
WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法
 
Ecs
EcsEcs
Ecs
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能について
 
Stream2の基本
Stream2の基本Stream2の基本
Stream2の基本
 
ParliamentでGeoSPARQL
ParliamentでGeoSPARQLParliamentでGeoSPARQL
ParliamentでGeoSPARQL
 
GUI&基本操作、CLI編
GUI&基本操作、CLI編GUI&基本操作、CLI編
GUI&基本操作、CLI編
 
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)
 
Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~
 
Lagopus 0.2
Lagopus 0.2Lagopus 0.2
Lagopus 0.2
 
6.2 reconciling amortization and persistence
6.2 reconciling amortization and persistence6.2 reconciling amortization and persistence
6.2 reconciling amortization and persistence
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
Redisととあるシステム
 
Electronについて
ElectronについてElectronについて
Electronについて
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
 
Redis速習会@Wantedly
Redis速習会@WantedlyRedis速習会@Wantedly
Redis速習会@Wantedly
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
 

Viewers also liked

หนังสือเล่มเล็ก
หนังสือเล่มเล็กหนังสือเล่มเล็ก
หนังสือเล่มเล็ก
guest32f0fe9
 
Evaluacion Factorial de las Aptitudes
Evaluacion Factorial de las AptitudesEvaluacion Factorial de las Aptitudes
Evaluacion Factorial de las Aptitudes
karkim
 
http://izhtc.ru Банер для перехода с 1.6 на 2.0
http://izhtc.ru Банер для перехода с 1.6 на 2.0http://izhtc.ru Банер для перехода с 1.6 на 2.0
http://izhtc.ru Банер для перехода с 1.6 на 2.0
eugenij eugenij
 
52653 vero57
52653 vero5752653 vero57
52653 vero57
verka 123
 
SMP Impl. on BSD/MIPS - TLB Consistency -
SMP Impl. on BSD/MIPS - TLB Consistency -SMP Impl. on BSD/MIPS - TLB Consistency -
SMP Impl. on BSD/MIPS - TLB Consistency -
Takuya ASADA
 
商业之星使用手册
商业之星使用手册商业之星使用手册
商业之星使用手册
guest165649
 
Sociala medier - employer branding Senior & Young
Sociala medier - employer branding Senior & YoungSociala medier - employer branding Senior & Young
Sociala medier - employer branding Senior & Young
Tobias Franzén
 
Halloween August 2009bp
Halloween August 2009bpHalloween August 2009bp
Halloween August 2009bp
cnunnally
 

Viewers also liked (20)

หนังสือเล่มเล็ก
หนังสือเล่มเล็กหนังสือเล่มเล็ก
หนังสือเล่มเล็ก
 
Evaluacion Factorial de las Aptitudes
Evaluacion Factorial de las AptitudesEvaluacion Factorial de las Aptitudes
Evaluacion Factorial de las Aptitudes
 
Lsg4 dontaylor
Lsg4 dontaylorLsg4 dontaylor
Lsg4 dontaylor
 
Networked Citizens a Cagliari: presentazione libro e open lesson
Networked Citizens a Cagliari: presentazione libro e open lesson Networked Citizens a Cagliari: presentazione libro e open lesson
Networked Citizens a Cagliari: presentazione libro e open lesson
 
Solving performance problems in MySQL without denormalization
Solving performance problems in MySQL without denormalizationSolving performance problems in MySQL without denormalization
Solving performance problems in MySQL without denormalization
 
http://izhtc.ru Банер для перехода с 1.6 на 2.0
http://izhtc.ru Банер для перехода с 1.6 на 2.0http://izhtc.ru Банер для перехода с 1.6 на 2.0
http://izhtc.ru Банер для перехода с 1.6 на 2.0
 
52653 vero57
52653 vero5752653 vero57
52653 vero57
 
Neshep 01 12 2015
Neshep 01 12 2015Neshep 01 12 2015
Neshep 01 12 2015
 
Psvkbsrk.kursus
Psvkbsrk.kursusPsvkbsrk.kursus
Psvkbsrk.kursus
 
Driving And Mobiles Don\'t Mix
Driving And Mobiles Don\'t MixDriving And Mobiles Don\'t Mix
Driving And Mobiles Don\'t Mix
 
SMP Impl. on BSD/MIPS - TLB Consistency -
SMP Impl. on BSD/MIPS - TLB Consistency -SMP Impl. on BSD/MIPS - TLB Consistency -
SMP Impl. on BSD/MIPS - TLB Consistency -
 
5
55
5
 
Quarter square log cabin tutorial
Quarter square log cabin tutorialQuarter square log cabin tutorial
Quarter square log cabin tutorial
 
2014 Social Media Forecasts From The Experts
2014 Social Media Forecasts From The Experts2014 Social Media Forecasts From The Experts
2014 Social Media Forecasts From The Experts
 
商业之星使用手册
商业之星使用手册商业之星使用手册
商业之星使用手册
 
Presecan's new paintings
Presecan's new paintingsPresecan's new paintings
Presecan's new paintings
 
Sociala medier - employer branding Senior & Young
Sociala medier - employer branding Senior & YoungSociala medier - employer branding Senior & Young
Sociala medier - employer branding Senior & Young
 
Mung Thanh Terexa
Mung Thanh TerexaMung Thanh Terexa
Mung Thanh Terexa
 
2014 Content Marketing Forecasts
2014 Content Marketing Forecasts2014 Content Marketing Forecasts
2014 Content Marketing Forecasts
 
Halloween August 2009bp
Halloween August 2009bpHalloween August 2009bp
Halloween August 2009bp
 

Similar to Cost of ovs receiving process

Nodejuku01 ohtsu
Nodejuku01 ohtsuNodejuku01 ohtsu
Nodejuku01 ohtsu
Nanha Park
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lisp
irix_jp
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
Yuichi Tateno
 

Similar to Cost of ovs receiving process (20)

Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
 
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライドMBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 
Nodejuku01 ohtsu
Nodejuku01 ohtsuNodejuku01 ohtsu
Nodejuku01 ohtsu
 
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
 
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
 
Build Node.js-WASM/WASI Tiny compiler with Node.js
Build Node.js-WASM/WASI Tiny compiler with Node.jsBuild Node.js-WASM/WASI Tiny compiler with Node.js
Build Node.js-WASM/WASI Tiny compiler with Node.js
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lisp
 
Vyatta 改造入門
Vyatta 改造入門Vyatta 改造入門
Vyatta 改造入門
 
Kubernetes in プロダクション! -- cndjp第2回
Kubernetes in プロダクション! -- cndjp第2回Kubernetes in プロダクション! -- cndjp第2回
Kubernetes in プロダクション! -- cndjp第2回
 
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
 
Reading NATS
Reading NATSReading NATS
Reading NATS
 
Richard high performance fuzzing ja
Richard  high performance fuzzing jaRichard  high performance fuzzing ja
Richard high performance fuzzing ja
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
160705-w02 RTミドルウエア講習会・早稲田大
160705-w02 RTミドルウエア講習会・早稲田大160705-w02 RTミドルウエア講習会・早稲田大
160705-w02 RTミドルウエア講習会・早稲田大
 

More from Takuya ASADA

Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Takuya ASADA
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
Takuya ASADA
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
 
OSvパンフレット
OSvパンフレットOSvパンフレット
OSvパンフレット
Takuya ASADA
 
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
Takuya ASADA
 
「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2
Takuya ASADA
 
「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1
Takuya ASADA
 
Implements BIOS emulation support for BHyVe: A BSD Hypervisor
Implements BIOS emulation support for BHyVe: A BSD HypervisorImplements BIOS emulation support for BHyVe: A BSD Hypervisor
Implements BIOS emulation support for BHyVe: A BSD Hypervisor
Takuya ASADA
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
 

More from Takuya ASADA (20)

Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
 
ヤマノススメ〜秋山郷 de ハッカソン〜
ヤマノススメ〜秋山郷 de ハッカソン〜ヤマノススメ〜秋山郷 de ハッカソン〜
ヤマノススメ〜秋山郷 de ハッカソン〜
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダ
 
OSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meetingOSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meeting
 
OSvパンフレット v3
OSvパンフレット v3OSvパンフレット v3
OSvパンフレット v3
 
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallOSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
 
OSv噺
OSv噺OSv噺
OSv噺
 
Linux network stack
Linux network stackLinux network stack
Linux network stack
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
Presentation on your terminal
Presentation on your terminalPresentation on your terminal
Presentation on your terminal
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
OSvパンフレット
OSvパンフレットOSvパンフレット
OSvパンフレット
 
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
 
「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2
 
「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
Implements BIOS emulation support for BHyVe: A BSD Hypervisor
Implements BIOS emulation support for BHyVe: A BSD HypervisorImplements BIOS emulation support for BHyVe: A BSD Hypervisor
Implements BIOS emulation support for BHyVe: A BSD Hypervisor
 
仮想化環境での利用者公平性
仮想化環境での利用者公平性仮想化環境での利用者公平性
仮想化環境での利用者公平性
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
 

Cost of ovs receiving process

  • 1. Cost of OVS receiving process @syuu1228
  • 4. FDB: Forwarding Database • 256エントリのフォワーディング先データベース(キャッシュ) • 構造体エントリ • fdb->addr: MACアドレス • fdb->dst: フォワード先NIC • パケット着信毎に以下の作業を実施 • FDB上のエントリのaddrとパケットの送信元アドレスを順に比較して、一致するエ ントリがあったらdstを更新 • 無かったら新しいエントリを作成 • FDB上のエントリのaddrとパケットの送信先アドレスを順に比較して、一致するエ ントリがあったらdstへパケット転送 • 無かったら全ポートにパケット転送(flooding)
  • 5. bridgeのコスト 1. foreach(fdb) /* < 256 entry */ if (memcmp(fdb->addr, source_addr)) update(fdb, source_port, source_addr) 2. foreach(fdb) /* < 256 entry */ if (memcmp(fdb->addr, dest_addr)) xmit(fdb->dst, packet)
  • 7. Key作成 • ovs_flow_extract()でskbからsw_flow_key構造体へ以下の要素をコピー • MACアドレス - memcpy • IPv4 • アドレス - pointer • プロトコル - value • TOS - value • TTL - value • TCP • ポート番号 - value
  • 9. テーブルルックアップ 1. ハッシュ値からbucketを検索 2. bucketをイテレートして各エントリのkey と先ほど作ったkeyをmemcmp 3. 一致したらreturnで返す 4. 見つからなかったらユーザランドのデー モンへ聞きに行く
  • 11. ACTIONの種類 • OVS_ACTION_ATTR_OUTPUT • 指定されたNICへパケット出力 • OVS_ACTION_ATTR_USERSPACE • ユーザランドでパケットハンドル • OVS_ACTION_ATTR_PUSH_VLAN • VLANタグをパケットに書き込み • OVS_ACTION_ATTR_POP_VLAN • VLANタグをパケットから削除 • OVS_ACTION_ATTR_SET • パケットヘッダの書き換え(priority、MACヘッダ、IPヘッダ、TCP/UDPヘッダ) • OVS_ACTION_ATTR_SAMPLE • 上述のACTIONを実施するが、最終的にパケットをネットワークスタックへ引き渡 す(このノードで受信することを意図している?)
  • 12. Netlink • ユーザランドとのやり取りにNetlinkを使用 (よく知らないので詳しい人教えて下さい) • ソケットインタフェースでカーネルと通信でき る? • ユーザランドとのパケットやり取りに使用 • ユーザランドからカーネルモジュールをコント ロールするのにも使用?
  • 13. 疑問点 • 何故skb->hashを使わないでわざわざkeyを作って改めて ハッシュを計算するのか(非効率じゃない?) • どんな時にユーザランドへ上げるのだろう?(特に OVS_ACTION_ATTR_USERSPACE) • bridge compatibleなioctlのハンドラはどこ? →mainlineからは削られてたっぽい? • OVS独自なコントロール操作はどこ? • OVS_ACTION_ATTR_SAMPLEの用途は?

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n