Yukiharu YABUKI の tDiary
このtDiaryを検索します。
2008-11-20 [長年日記]
_ Linux kernel レベルでのパケットジェネレーター
こいつを使えば、ネットワークの負荷試験につかえるような「パケット生成機」が作れるのかいなあ。下記のは、kernel 2.6.27のKconfigより
tristate "Packet Generator (USE WITH CAUTION)"
depends on PROC_FS
---help---
This module will inject preconfigured packets, at a configurable
rate, out of a given interface. It is used for network interface
stress testing and performance analysis. If you don't understand
what was just said, you don't need it: say N.
Documentation on how to use the packet generator can be found
at <file:Documentation/networking/pktgen.txt >.
To compile this code as a module, choose M here: the
module will be called pktgen.
[カーネルディレクトリ]/Documentation/networking/pktgen.txtを読め。
_ TCP_Probe
TCP_Probeは、kprobeの仕組みを使ってTCPの内部データを取得する。
- TCP Probeについてのドキュメントは、(http://www.linuxfoundation.org/en/Net:TcpProbe)であり、下記でふれているURLは、前述のURLに飛んでくる。GNU plotで綺麗にグラフまで書ける方法が載っている。下記の kprobes に依存している。
config NET_TCPPROBE
tristate "TCP connection probing"
depends on INET && EXPERIMENTAL && PROC_FS && KPROBES
---help---
This module allows for capturing the changes to TCP connection
state in response to incoming packets. It is used for debugging
TCP congestion avoidance modules. If you don't understand
what was just said, you don't need it: say N.
Documentation on how to use TCP connection probing can be found
at http://linux-net.osdl.org/index.php/TcpProbe
To compile this code as a module, choose M here: the
module will be called tcp_probe.
「Kernel top leve/net/Kconfigの中にある。 - Kprobesは kernel module できないように見える。Kprobesの説明については、Kprobesによるカーネルのデバッグ --- Linuxカーネルに動的にprintkを挿入する(http://www.ibm.com/developerworks/jp/linux/library/l-kprobes/index.html)にある。「kernel top level/arch/Kconfigの中にある説明では
config KPROBES
となっている。
bool "Kprobes"
depends on KALLSYMS && MODULES
depends on HAVE_KPROBES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".