pktgenとパケットキャプチャとLinux kernel 4.4

Linuxにパケットジェネレータ機能を提供するpktgenは、非常に高速にパケット送信を行うことができるカーネルモジュールである。

pktgen自体については PCとpktgenで行くショートパケットワイヤレートの旅 を参照。

pktgenで送信中のパケットがtcpdumpで確認できないという話があったため、その説明のため簡単にコールスタックを追った結果を残しておく。

賢明な諸氏のことなので、図を見れば説明は不要なことと思う。

0105a_pktgen_tcpdump_001.png

Figure 1. Linux kernel 4.4におけるパケット送信時のコールスタック(一部省略)

more…

Open vSwitch kernel moduleの実装からLinux kernel network stackに寄り道する

Open vSwitch kernel moduleの実装を読みつつ、よくわかんないので 結果的にLinux kernelも読みに行くことになってしまったメモです。

Open vSwitchでVXLANを使ってみたりしたけど、VLANと一緒に使ったときの扱いとか、 細かいところを気にするとやっぱりコード読んだ方が良いんじゃないかと思ったので、 処理経路の整理も兼ねてコードを追ってみることにしたのです。

およそ、この辺に触れる。

  • Linux-kernel-3.11のNetwork stack

    • dev.c

    • ip_input.c

    • ip_output.c

    • udp.c

  • openvswitch-2.1.0のKernel module

more…