今日の進捗
今日の進捗というか、今週の進捗になりつつあるかも。家帰って書くより研究室で書いた方がいいかな。それから、1週間に1章のペースがまだ保たれている。つまり1ヶ月続いた。自分にしてはかなり珍しい気がする。このまま32章まで続けばいいなぁ。
自分用に4章まとめ。後から読み返して思い出せればいいので適当。
input queue
↑
ether_input
↑
leread
↑
leintr
↑
packet receive
ether_output
↓
output queue
↓
lestart
↓
packet send
- デバイスの制御(ioctl)
書式:ioctl(int fd, unsigned long com, ...);
-
- インターフェースのリストとそのアドレスを取得すること
- ioctl(int fd, SIOCGIFCONF, struct ifconf* ifc)
- ifconfという関数がメイン
- インターフェースのフラグ情報とメトリック情報を読み書きすること
- ioctl(int fd, SIOCGIFCONF, struct ifreq* ifr)
- ioctl(int fd, SIOCSIFCONF, struct ifreq* ifr)
- ioctl(int fd, SIOCGIFMETRIC, struct ifreq* ifr)
- ioctl(int fd, SIOCSIFMETRIC, struct ifreq* ifr)
- これら4つはifioctlという関数がメイン
- インターフェースのリストとそのアドレスを取得すること