NetBSD pf(4) "set skip on lo" doesn't work with IPv6
NetBSD 標準の packet filter である pf(4) の設定でハマッた記録
多分 ipflter(4) も npf(4) もおんなじ問題ありそう(こなみ感)
enami tsugutomo
@_enami
@jinmei @n_soda なるほど。では v6 では looutput にはアドレスの属する IF が渡ってくるのが正しい世界という方向でどう直すのがいいか考えて見ます。
2014-10-10 16:04:41
enami tsugutomo
@_enami
nd6_output から looutput へ (origifp でなく) ifp のほうを渡すのに、m_pkthdr.rcvif を使うのはどうだろう。どうせ上書きしちゃうし。
2014-10-10 16:07:40
enami tsugutomo
@_enami
問題は pfil のほうだよな。looutput で rcvif を origifp で上書きするので、受け取ったときには、あたかもじつIFのほうから来ているように見えているはず。一つは ip6_output で pfill_run_hooks に origifp を渡すこと。
2014-10-10 17:58:27
Kimihiro Nonaka/埜中 公博
@nonakap
USB Wi-Fi dongle 移植の為に sys/net80211 をチラ見したことがあるくらいか
2014-10-10 18:01:42
enami tsugutomo
@_enami
もしかして F の場合は、ip6_output で ifp = ether, origifp = lo, nd6_output で間接 に呼ばれるのは looutput でなくて ether_output, その中で LLE_IFADDR 立ってて if_simloop て流れ?
2014-10-11 12:12:14