3c59x.c関係
vortex
Boomerang
Boomerang
ぱけ送信の流れ
送信関数(x_start_xmit)
パケ受信の流れ
イーサドライバがデータの受信を行うと割り込みが発生する。割り込みハンドラ(x_interrupt)で受信処理(x_reciveやx_rxなどの別関数にわかれていることが多い)を行う
NIC挿してeth0で認識してほしいとき
これを参照してドライバ回りを整えるとか
[ /etc/modprobe.conf ]を書き換えたり(alias eth0 挿したNICのドライバ)してみる
[ /etc/modprobe.conf ]を書き換えたり(alias eth0 挿したNICのドライバ)してみる
新しく挿した方だけ認識してほしかったから
[ /etc/sysconfig/network-scripts/ifcfg-eth0 ]の
MACアドレスの部分を#でコメントアウトしてリブートしたらeth0で認識してくれた
[ /etc/sysconfig/network-scripts/ifcfg-eth0 ]の
MACアドレスの部分を#でコメントアウトしてリブートしたらeth0で認識してくれた
なんか変なのでたから
grep __ arm-gcc.h
#define
float32_add __addsf3
#define
float64_add __adddf3
#define
float32_sub __subsf3
#define
float64_sub __subdf3
#define
float32_mul __mulsf3
#define
float64_mul __muldf3
#define
float32_div __divsf3
#define
float64_div __divdf3
#define
int32_to_float32 __floatsisf
#define
int32_to_float64 __floatsidf
#define
float32_to_int32_round_to_zero __fixsfsi
#define
float64_to_int32_round_to_zero __fixdfsi
#define
float32_to_uint32_round_to_zero __fixunssfsi
#define
float64_to_uint32_round_to_zero __fixunsdfsi
#define
float32_to_float64 __extendsfdf2
#define
float64_to_float32 __truncdfsf2
grep ENTRY fplib_glue.S
ENTRY(__eqsf2)
ENTRY(__eqdf2)
ENTRY(__nesf2)
ENTRY(__nedf2)
ENTRY(__gtsf2)
ENTRY(__gtdf2)
ENTRY(__gesf2)
ENTRY(__gedf2)
ENTRY(__ltsf2)
ENTRY(__ltdf2)
ENTRY(__lesf2)
ENTRY(__ledf2)
ENTRY(__negsf2)
ENTRY(__negdf2)
ENTRY(__eqsf2)
ENTRY(__eqdf2)
ENTRY(__nesf2)
ENTRY(__nedf2)
ENTRY(__gtsf2)
ENTRY(__gtdf2)
ENTRY(__gesf2)
ENTRY(__gedf2)
ENTRY(__ltsf2)
ENTRY(__ltdf2)
ENTRY(__lesf2)
ENTRY(__ledf2)
ENTRY(__negsf2)
ENTRY(__negdf2)
本気でただのメモ
01:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
make dep clean modules modules_install
なんか参考に
もうめんどくさい
http://www.lifeflow.jp/wiki/index.php?Network%20Stack(%BC%F5%BF%AE)
全ての PCI デバイスを表示するコマンド
lspci
ハッシュテーブル
(saddr+(saddr/1000)+(saddr/1000000)+(saddr/1000000000)+source)%HASH_SIZE
これをキーとしてハッシュテーブルを作ってはどうか(07/02/15 11:05)
もうそれでもなんでもいいんじゃない?(07/02/16 05:58)
プログラムのとっかかり
sk_buff構造体のメンバにunion hとunion nhがある。
hはstruct tcphdrとstruct iphdrを持っている。
nhはstruct iphdrを持っている。
hはstruct tcphdrとstruct iphdrを持っている。
nhはstruct iphdrを持っている。
tcphdr構造体はTCPヘッダの情報を持っている。
__u16 sourceが送信元ポート番号、__u16 destが宛先ポート番号。
__u16 sourceが送信元ポート番号、__u16 destが宛先ポート番号。
iphdr構造体はIPヘッダの情報を持っている。
__be32 saddrが送信元IPアドレス、__be32 daddrが宛先IPアドレス。
__be32 saddrが送信元IPアドレス、__be32 daddrが宛先IPアドレス。
sk_buffは3c509のnet_device_stats構造体が持つ値を更新する関数にもあるので、
まずsk_buff *skbからヘッダ情報を引っ張ってIPアドレス-ポート番号の組を作り、
その後更新情報をそのまま引っ張ってくればよいので、
パケット受信のときの情報取得はなんとかなりそう。
まずsk_buff *skbからヘッダ情報を引っ張ってIPアドレス-ポート番号の組を作り、
その後更新情報をそのまま引っ張ってくればよいので、
パケット受信のときの情報取得はなんとかなりそう。
次はパケット送信の手順とパケット送信のときにsk_buffがあるかどうかを調べなければ。