2003/08/30

2003/08/30

[NETWORK] [LINUX] madwifi device: IPv6 dad failure

パケットダンプ

  1   0.000000           :: -> ff02::1:XXXX:YYYY ICMPv6 Multicast listener report
  2   0.000010           :: -> ff02::1:XXXX:YYYY ICMPv6 Multicast listener report
  3   0.000013           :: -> ff02::1:XXXX:YYYY ICMPv6 Neighbor solicitation
  4   0.000016 fe80::205:4eff:XXZX:YYYY -> ff02::2      ICMPv6 Router solicitation
  5   0.020127           :: -> ff02::1:XXXX:YYYY ICMPv6 Multicast listener report
  6   0.020997           :: -> ff02::1:XXXX:YYYY ICMPv6 Multicast listener report
  7   0.021942           :: -> ff02::1:XXXX:YYYY ICMPv6 Neighbor solicitation
  8   0.021956 fe80::205:4eff:XXZX:YYYY -> ff02::1      ICMPv6 Neighbor advertisement
  9   0.024285 fe80::205:4eff:XXZX:YYYY -> ff02::1      ICMPv6 Neighbor advertisement
 10   0.271149 fe80::203:47ff:BBBB:AAAA -> ff02::1      ICMPv6 Router advertisement
 11   0.782556           :: -> ff02::1:XXXX:YYYY ICMPv6 Neighbor solicitation
 12   0.839789           :: -> ff02::1:XXXX:YYYY ICMPv6 Neighbor solicitation

ログを見ると

...
Aug 30 00:10:30 dom kernel: ath0: someone advertises our address!
Aug 30 00:10:30 dom kernel: ath0: duplicate address detected!
...

上記とは別の時にdebug onにしてとったログ

...
Aug 29 01:11:18 dom kernel: ath_mode_init: RX filter 0x17, MC filter 00000000:00000000
...
Aug 29 01:11:18 dom kernel: ath_mode_init: RX filter 0x17, MC filter 00000000:00000000
Aug 29 01:11:18 dom kernel: ath_mode_init: RX filter 0x17, MC filter 00000000:00001000
...

というわけ、でどうやら自分が投げたNSを受けとりNAを返しそれを受信してしまいDADが失敗したと判断しているよう。MCフィルタが怪しい。

追記(2003/09/16)

ちょっと記録が遅くなりましたが、これは一応解決しました。diffは以下。

Index: wlan/if_ieee80211subr.c
===================================================================
RCS file: /cvsroot/madwifi/madwifi/wlan/if_ieee80211subr.c,v
retrieving revision 1.48
diff -u -u -r1.48 if_ieee80211subr.c
--- wlan/if_ieee80211subr.c     3 Sep 2003 21:54:56 -0000       1.48
+++ wlan/if_ieee80211subr.c     15 Sep 2003 15:56:37 -0000
@@ -859,6 +859,15 @@
                                                dev->name));
                                goto out;
                        }
+#else
+                       if ((dev->flags & IFF_MULTICAST) &&
+                          IEEE80211_IS_MULTICAST(wh->i_addr1) &&
+                          IEEE80211_ADDR_EQ(wh->i_addr3, dev->dev_addr)) {
+                               /* discard mulicast echo back */
+                               /* can we always assume that the received packets
+                                * which have my mac addr were sent by me? */
+                               goto out;
+                       }
 #endif
                        break;
                case IEEE80211_M_MONITOR:

もともとこのAtherosの(802.11a/b/g)ドライバは(Free?)BSDから移植されたものなのでIFF_SIMPLEXがついている場合のみ自分の投げたマルチキャストパケットを自分にechoしないようにしていたのが原因でした。Linuxの場合IFF_SIMPLEXというフラグや(おそらく)それに準じたフラグはないのでもともとそういうものだとしてフィルタしても良い気もしますがよくわかりません。

さらに追記(2003/10/09)

CVSツリーにとりこまれたようです。

2003/08/29

2003/08/29

[NETWORK] CIM

[NETWORK] “復権”を果たしたIEEE802.11aに注目

2.4GHz帯ってチャンネルの周波数が重なっていたのね…

WiFi Finder

PCなしでWiFiの電波さぐれます。

2003/08/22

2003/08/22

[MOVIE] 映画「Mr. DEEDS」(DVD)

2003/08/15

2003/08/15

[MOVIE] 「007 DIE ANOTHER DAY」(DVD)

[ENGLISH] to not V

notとともに不定詞を使うとき普通は”not to V”だけど強調するときなどは”to not V”とする場合がある。

Consensus to not make this change.

[ENGLISH] When the going gets taugh, the tough get going.

いいまわし(ことわざ)。

When the going(= things/situation) gets taugh(=difficult), thetough(=people) get going(=start doing someting).

[ENGLISH] my cup of tea

お気に入りの意

French movies really are my cup of tea.

2003/08/14

2003/08/14

../diary_images/20030814_nikoru.jpg

今日(明日)は、実家の犬をお預かり。

2003/08/13

2003/08/13

brute force attack

知らなかった。総当たり攻撃のことなのね。

追記(2004/04/24)

zdnetの名前変更に伴いリンク先を変更。

ASN.1解説

2003/08/10

2003/08/10

街でみかけたもの

../diary_images/20030810_maiwoo.jpg

まいうー見つけました。

[BOOK] 放送禁止歌

2003/08/01

2003/08/01

[ENGLISH] get under way = begin

under way => has started