Patch doesn't look perfect to me. Two objections:
1) Now IPFW code in unrelated to IPv4. It can be used with IPv6 also. But this patch starts to call it from IfaceNgIpInit()/IfaceNgIpShutdown().
2) If I understand right, this code will call IfaceNgIpShutdown() twice: first from IfaceUp(), second from IfaceNgIpInit()
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1) Don't mix them and you won't need to divide. IPFW was intentionally bound to interface, not to protocols.
2) Sorry, I've mixed function names. Rephrase: As I see, you are calling IfaceSetupIpfw() from IfaceUp() and from IfaceNgIpInit(), and calling IfaceShutdownIpfw() from IfaceDown() and IfaceNgIpShutdown().
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
place files into port directory net/mpd5/files and build port
Patch doesn't look perfect to me. Two objections:
1) Now IPFW code in unrelated to IPv4. It can be used with IPv6 also. But this patch starts to call it from IfaceNgIpInit()/IfaceNgIpShutdown().
2) If I understand right, this code will call IfaceNgIpShutdown() twice: first from IfaceUp(), second from IfaceNgIpInit()
1) yes, i agree, but how to divide ipv4 and ipv6 I have no idea without addition of another radius attributes.
give me a direction
2) why?
1) Don't mix them and you won't need to divide. IPFW was intentionally bound to interface, not to protocols.
2) Sorry, I've mixed function names. Rephrase: As I see, you are calling IfaceSetupIpfw() from IfaceUp() and from IfaceNgIpInit(), and calling IfaceShutdownIpfw() from IfaceDown() and IfaceNgIpShutdown().
1) ok, I will think about this (give me some days)
2) yes. you absolutelly right, i missed. maybe need to remove from IfaceUp(), IfaceDown()
two objections to IPFW, I will correct them
2) simply I remove IfaceSetupIpfw() and IfaceShutdownIpfw() function calls from IfaceUp() and IfaceDown(). I think it is correct now. Please check.
This version is better, but it strictly ties ipfw to IPv4, while it should work fine with IPv6 also, even without IPv4 at all.
New patch for 5.8
Patch for Documentation.