netgraph mkpeer and connect failures with ng_ipfw and ng_nat
Erik Klavon
erikk at berkeley.edu
Fri Jan 15 04:43:46 UTC 2010
On Thu, Jan 14, 2010 at 06:26:56PM -0800, Julian Elischer wrote:
> Erik Klavon wrote:
> >On Thu, Jan 14, 2010 at 04:22:31PM -0800, Julian Elischer wrote:
> >>Erik Klavon wrote:
> >>>Here are the hooks for one ng_nat(4) node of interest. At the time I
> >>>obtained this information, this node was working correctly. Everything
> >>>in this output looks correct.
> >>>
> >>>sudo ngctl show ipfw:202182138
> >>> Name: WirelessNAT2182138 Type: nat ID: 000062ee Num
> >>> hooks: 2
> >>> Local hook Peer name Peer type Peer ID Peer hook
> >>> ---------- --------- --------- ------- ---------
> >>> in ipfw ipfw 00005a83 102182138
> >>> out ipfw ipfw 00005a83 202182138
> >>>
> >>>sudo ngctl msg ipfw:102182138 listredirects
> >>>Rec'd response "listredirects" (10) from "[62ee]:":
> >>>Args: { total_count=1 redirects=[ { id=1 local_addr=10.10.118.43
> >>>alias_addr=136.152.182.138 proto=259 description="Static NAT" } ] }
> >>>
> >>>Running show on ipfw:102174202, I see that this hook is pointing to
> >>>the above ng_nat(4) node WirelessNAT2182138.
> >>can you show that output?
> >
> >The output for ngctl show ipfw:102174202 is below.
>
> how about the output for ipfw: ?
For that example (obtained a couple of days ago) I don't have output
for show ipfw: recorded. I'll try to find a similar case tomorrow during the
period of time when these problems occur.
I'm currently collecting the output from the following commands every
minute, in addition to all of the ngctl calls and output.
/usr/bin/vmstat -mzs
/usr/bin/netstat -m
/usr/sbin/ngctl list
/usr/sbin/ngctl show ipfw:
/sbin/ipfw table 87 list
/sbin/ipfw table 88 list
>From today, here are examples of the mkpeer and connect errors with
output from ngctl list and show just after the error. As in the
earlier examples, each case is the first time the globally routable
address was used since the machine booted.
Jan 14 08:28:08 nac[70382]: /usr/sbin/ngctl -d mkpeer ipfw: nat 202174135 out
Jan 14 08:28:08 nac[70388]: /usr/sbin/ngctl -d name ipfw:202174135 WirelessNAT2174135
Jan 14 08:28:08 nac[70394]: /usr/sbin/ngctl -d connect ipfw: WirelessNAT2174135: 102174135 in
Jan 14 08:28:08 nac[70399]: ngctl: sendto(ipfw:): File exists
Jan 14 08:28:08 nac[70399]: ngctl: send msg: File exists
Thu Jan 14 08:29:01 PST 2010
/usr/sbin/ngctl list
There are 62 total nodes:
Name: WirelessNAT2132142 Type: nat ID: 0000019e Num hooks: 2
Name: WirelessNAT2172040 Type: nat ID: 000002ef Num hooks: 2
Name: WirelessNAT2173201 Type: nat ID: 000002c0 Num hooks: 2
Name: WirelessNAT2132017 Type: nat ID: 000001b2 Num hooks: 2
Name: WirelessNAT2183201 Type: nat ID: 0000023f Num hooks: 2
Name: WirelessNAT2183102 Type: nat ID: 000001c6 Num hooks: 2
Name: WirelessNAT2173220 Type: nat ID: 00000010 Num hooks: 2
Name: WirelessNAT2172132 Type: nat ID: 0000029f Num hooks: 2
Name: WirelessNAT2173033 Type: nat ID: 000002db Num hooks: 2
Name: WirelessNAT2183212 Type: nat ID: 000002b0 Num hooks: 2
Name: WirelessNAT2173025 Type: nat ID: 00000271 Num hooks: 2
Name: WirelessNAT2173061 Type: nat ID: 000001f2 Num hooks: 2
Name: WirelessNAT2132147 Type: nat ID: 000001e6 Num hooks: 2
Name: WirelessNAT2183051 Type: nat ID: 000001d0 Num hooks: 2
Name: WirelessNAT2172216 Type: nat ID: 000002cf Num hooks: 2
Name: WirelessNAT2182071 Type: nat ID: 0000020e Num hooks: 2
Name: WirelessNAT2183115 Type: nat ID: 000001ec Num hooks: 2
Name: WirelessNAT2182233 Type: nat ID: 000001d8 Num hooks: 2
Name: WirelessNAT2182009 Type: nat ID: 00000309 Num hooks: 2
Name: WirelessNAT2173144 Type: nat ID: 000002fd Num hooks: 2
Name: WirelessNAT2174107 Type: nat ID: 000002e3 Num hooks: 2
Name: WirelessNAT2173180 Type: nat ID: 0000027f Num hooks: 2
Name: WirelessNAT2173171 Type: nat ID: 00000279 Num hooks: 2
Name: WirelessNAT2172073 Type: nat ID: 00000208 Num hooks: 2
Name: WirelessNAT2182226 Type: nat ID: 0000030f Num hooks: 2
Name: WirelessNAT2174135 Type: nat ID: 00000305 Num hooks: 1
Name: WirelessNAT2183171 Type: nat ID: 000002f7 Num hooks: 2
Name: WirelessNAT2173235 Type: nat ID: 000002e9 Num hooks: 2
Name: WirelessNAT2175215 Type: nat ID: 0000028f Num hooks: 2
Name: WirelessNAT2172038 Type: nat ID: 00000263 Num hooks: 2
Name: WirelessNAT2175035 Type: nat ID: 0000025b Num hooks: 2
Name: WirelessNAT2172065 Type: nat ID: 000001a8 Num hooks: 2
Name: WirelessNAT2132096 Type: nat ID: 00000134 Num hooks: 2
Name: UnauthNat Type: nat ID: 00000004 Num hooks: 2
Name: WirelessNAT2175162 Type: nat ID: 00000315 Num hooks: 2
Name: WirelessNAT2183226 Type: nat ID: 000002d5 Num hooks: 2
Name: WirelessNAT2132178 Type: nat ID: 000002b8 Num hooks: 2
Name: WirelessNAT2175045 Type: nat ID: 00000297 Num hooks: 2
Name: WirelessNAT2182254 Type: nat ID: 00000255 Num hooks: 2
Name: WirelessNAT2132088 Type: nat ID: 00000245 Num hooks: 2
Name: WirelessNAT2183127 Type: nat ID: 00000228 Num hooks: 2
Name: WirelessNAT2173146 Type: nat ID: 0000021c Num hooks: 2
Name: WirelessNAT2183163 Type: nat ID: 00000198 Num hooks: 2
Name: WirelessNAT2172147 Type: nat ID: 00000188 Num hooks: 2
Name: WirelessNAT2182129 Type: nat ID: 000002c8 Num hooks: 2
Name: WirelessNAT2183173 Type: nat ID: 00000287 Num hooks: 2
Name: WirelessNAT2175064 Type: nat ID: 00000269 Num hooks: 2
Name: WirelessNAT2183083 Type: nat ID: 0000024f Num hooks: 2
Name: WirelessNAT2182255 Type: nat ID: 00000237 Num hooks: 2
Name: WirelessNAT2172085 Type: nat ID: 00000231 Num hooks: 2
Name: WirelessNAT2172157 Type: nat ID: 000001c0 Num hooks: 2
Name: WirelessNAT2174083 Type: nat ID: 000001ba Num hooks: 2
Name: WirelessNAT2173066 Type: nat ID: 00000174 Num hooks: 2
Name: WirelessNAT2132098 Type: nat ID: 0000016c Num hooks: 2
Name: WirelessNAT2173094 Type: nat ID: 00000190 Num hooks: 2
Name: WirelessNAT2173166 Type: nat ID: 00000154 Num hooks: 2
Name: WirelessNAT2183229 Type: nat ID: 00000126 Num hooks: 2
Name: WirelessNAT2173186 Type: nat ID: 00000200 Num hooks: 2
Name: WirelessNAT2175067 Type: nat ID: 000001f8 Num hooks: 2
Name: WirelessNAT2173179 Type: nat ID: 000002a8 Num hooks: 2
Name: ngctl73558 Type: socket ID: 0000031a Num hooks: 0
Name: ipfw Type: ipfw ID: 00000001 Num hooks: 119
/usr/sbin/ngctl show ipfw:
Name: ipfw Type: ipfw ID: 00000001 Num hooks: 119
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
102175162 WirelessNAT2175162 nat 00000315 in
202175162 WirelessNAT2175162 nat 00000315 out
102182226 WirelessNAT2182226 nat 0000030f in
202182226 WirelessNAT2182226 nat 0000030f out
102182009 WirelessNAT2182009 nat 00000309 in
202182009 WirelessNAT2182009 nat 00000309 out
202174135 WirelessNAT2174135 nat 00000305 out
102173144 WirelessNAT2173144 nat 000002fd in
202173144 WirelessNAT2173144 nat 000002fd out
102183171 WirelessNAT2183171 nat 000002f7 in
202183171 WirelessNAT2183171 nat 000002f7 out
102172040 WirelessNAT2172040 nat 000002ef in
202172040 WirelessNAT2172040 nat 000002ef out
102173235 WirelessNAT2173235 nat 000002e9 in
202173235 WirelessNAT2173235 nat 000002e9 out
102174107 WirelessNAT2174107 nat 000002e3 in
202174107 WirelessNAT2174107 nat 000002e3 out
102173033 WirelessNAT2173033 nat 000002db in
202173033 WirelessNAT2173033 nat 000002db out
102183226 WirelessNAT2183226 nat 000002d5 in
202183226 WirelessNAT2183226 nat 000002d5 out
102172216 WirelessNAT2172216 nat 000002cf in
202172216 WirelessNAT2172216 nat 000002cf out
102182129 WirelessNAT2182129 nat 000002c8 in
202182129 WirelessNAT2182129 nat 000002c8 out
102173201 WirelessNAT2173201 nat 000002c0 in
202173201 WirelessNAT2173201 nat 000002c0 out
102132178 WirelessNAT2132178 nat 000002b8 in
202132178 WirelessNAT2132178 nat 000002b8 out
102183212 WirelessNAT2183212 nat 000002b0 in
202183212 WirelessNAT2183212 nat 000002b0 out
102173179 WirelessNAT2173179 nat 000002a8 in
202173179 WirelessNAT2173179 nat 000002a8 out
102172132 WirelessNAT2172132 nat 0000029f in
202172132 WirelessNAT2172132 nat 0000029f out
102175045 WirelessNAT2175045 nat 00000297 in
202175045 WirelessNAT2175045 nat 00000297 out
102175215 WirelessNAT2175215 nat 0000028f in
202175215 WirelessNAT2175215 nat 0000028f out
102183173 WirelessNAT2183173 nat 00000287 in
202183173 WirelessNAT2183173 nat 00000287 out
102173180 WirelessNAT2173180 nat 0000027f in
202173180 WirelessNAT2173180 nat 0000027f out
102173171 WirelessNAT2173171 nat 00000279 in
202173171 WirelessNAT2173171 nat 00000279 out
102173025 WirelessNAT2173025 nat 00000271 in
202173025 WirelessNAT2173025 nat 00000271 out
102175064 WirelessNAT2175064 nat 00000269 in
202175064 WirelessNAT2175064 nat 00000269 out
102172038 WirelessNAT2172038 nat 00000263 in
202172038 WirelessNAT2172038 nat 00000263 out
102175035 WirelessNAT2175035 nat 0000025b in
202175035 WirelessNAT2175035 nat 0000025b out
102182254 WirelessNAT2182254 nat 00000255 in
202182254 WirelessNAT2182254 nat 00000255 out
102183083 WirelessNAT2183083 nat 0000024f in
202183083 WirelessNAT2183083 nat 0000024f out
102132088 WirelessNAT2132088 nat 00000245 in
202132088 WirelessNAT2132088 nat 00000245 out
102183201 WirelessNAT2183201 nat 0000023f in
202183201 WirelessNAT2183201 nat 0000023f out
102182255 WirelessNAT2182255 nat 00000237 in
202182255 WirelessNAT2182255 nat 00000237 out
102172085 WirelessNAT2172085 nat 00000231 in
202172085 WirelessNAT2172085 nat 00000231 out
102183127 WirelessNAT2183127 nat 00000228 in
202183127 WirelessNAT2183127 nat 00000228 out
102173146 WirelessNAT2173146 nat 0000021c in
202173146 WirelessNAT2173146 nat 0000021c out
102182071 WirelessNAT2182071 nat 0000020e in
202182071 WirelessNAT2182071 nat 0000020e out
102172073 WirelessNAT2172073 nat 00000208 in
202172073 WirelessNAT2172073 nat 00000208 out
102173186 WirelessNAT2173186 nat 00000200 in
202173186 WirelessNAT2173186 nat 00000200 out
102175067 WirelessNAT2175067 nat 000001f8 in
202175067 WirelessNAT2175067 nat 000001f8 out
102173061 WirelessNAT2173061 nat 000001f2 in
202173061 WirelessNAT2173061 nat 000001f2 out
102183115 WirelessNAT2183115 nat 000001ec in
202183115 WirelessNAT2183115 nat 000001ec out
102132147 WirelessNAT2132147 nat 000001e6 in
202132147 WirelessNAT2132147 nat 000001e6 out
102182233 WirelessNAT2182233 nat 000001d8 in
202182233 WirelessNAT2182233 nat 000001d8 out
102183051 WirelessNAT2183051 nat 000001d0 in
202183051 WirelessNAT2183051 nat 000001d0 out
102183102 WirelessNAT2183102 nat 000001c6 in
202183102 WirelessNAT2183102 nat 000001c6 out
102172157 WirelessNAT2172157 nat 000001c0 in
202172157 WirelessNAT2172157 nat 000001c0 out
102174083 WirelessNAT2174083 nat 000001ba in
202174083 WirelessNAT2174083 nat 000001ba out
102132017 WirelessNAT2132017 nat 000001b2 in
202132017 WirelessNAT2132017 nat 000001b2 out
102172065 WirelessNAT2172065 nat 000001a8 in
202172065 WirelessNAT2172065 nat 000001a8 out
102132142 WirelessNAT2132142 nat 0000019e in
202132142 WirelessNAT2132142 nat 0000019e out
102183163 WirelessNAT2183163 nat 00000198 in
202183163 WirelessNAT2183163 nat 00000198 out
102173094 WirelessNAT2173094 nat 00000190 in
202173094 WirelessNAT2173094 nat 00000190 out
102172147 WirelessNAT2172147 nat 00000188 in
202172147 WirelessNAT2172147 nat 00000188 out
102173066 WirelessNAT2173066 nat 00000174 in
202173066 WirelessNAT2173066 nat 00000174 out
102132098 WirelessNAT2132098 nat 0000016c in
202132098 WirelessNAT2132098 nat 0000016c out
102173166 WirelessNAT2173166 nat 00000154 in
202173166 WirelessNAT2173166 nat 00000154 out
102132096 WirelessNAT2132096 nat 00000134 in
202132096 WirelessNAT2132096 nat 00000134 out
102183229 WirelessNAT2183229 nat 00000126 in
202183229 WirelessNAT2183229 nat 00000126 out
102173220 WirelessNAT2173220 nat 00000010 in
202173220 WirelessNAT2173220 nat 00000010 out
1 UnauthNat nat 00000004 in
2 UnauthNat nat 00000004 out
Jan 14 08:35:08 nac[3229]: /usr/sbin/ngctl -d mkpeer ipfw: nat 202183148 out
Jan 14 08:35:08 nac[3234]: ngctl: sendto(ipfw:): File exists
Jan 14 08:35:08 nac[3234]: ngctl: send msg: File exists
Jan 14 08:35:08 nac[3235]: warning: Unsuccessful execution: /usr/sbin/ngctl -d mkpeer ipfw: nat 202183148 out
Thu Jan 14 08:36:01 PST 2010
/usr/sbin/ngctl list
There are 98 total nodes:
Name: WirelessNAT2182100 Type: nat ID: 0000038a Num hooks: 2
Name: WirelessNAT2132070 Type: nat ID: 000003ca Num hooks: 2
Name: WirelessNAT2132142 Type: nat ID: 0000019e Num hooks: 2
Name: WirelessNAT2173111 Type: nat ID: 00000392 Num hooks: 2
Name: WirelessNAT2173012 Type: nat ID: 00000355 Num hooks: 2
Name: WirelessNAT2175100 Type: nat ID: 00000343 Num hooks: 2
Name: WirelessNAT2132062 Type: nat ID: 00000337 Num hooks: 2
Name: WirelessNAT2172040 Type: nat ID: 000002ef Num hooks: 2
Name: WirelessNAT2173201 Type: nat ID: 000002c0 Num hooks: 2
Name: WirelessNAT2132017 Type: nat ID: 000001b2 Num hooks: 2
Name: ngctl13132 Type: socket ID: 00000411 Num hooks: 0
Name: WirelessNAT2174111 Type: nat ID: 00000372 Num hooks: 2
Name: WirelessNAT2174210 Type: nat ID: 0000036a Num hooks: 2
Name: WirelessNAT2183201 Type: nat ID: 0000023f Num hooks: 2
Name: WirelessNAT2183102 Type: nat ID: 000001c6 Num hooks: 2
Name: WirelessNAT2173220 Type: nat ID: 00000010 Num hooks: 2
Name: WirelessNAT2174022 Type: nat ID: 00000406 Num hooks: 2
Name: WirelessNAT2132055 Type: nat ID: 000003e2 Num hooks: 2
Name: WirelessNAT2173023 Type: nat ID: 000003a6 Num hooks: 2
Name: WirelessNAT2172033 Type: nat ID: 0000039e Num hooks: 2
Name: WirelessNAT2172132 Type: nat ID: 0000029f Num hooks: 2
Name: WirelessNAT2132047 Type: nat ID: 000003fa Num hooks: 2
Name: WirelessNAT2182240 Type: nat ID: 00000329 Num hooks: 2
Name: WirelessNAT2174041 Type: nat ID: 0000031d Num hooks: 2
Name: WirelessNAT2173033 Type: nat ID: 000002db Num hooks: 2
Name: WirelessNAT2183212 Type: nat ID: 000002b0 Num hooks: 2
Name: WirelessNAT2132066 Type: nat ID: 00000398 Num hooks: 2
Name: WirelessNAT2173025 Type: nat ID: 00000271 Num hooks: 2
Name: WirelessNAT2173061 Type: nat ID: 000001f2 Num hooks: 2
Name: WirelessNAT2132147 Type: nat ID: 000001e6 Num hooks: 2
Name: WirelessNAT2183051 Type: nat ID: 000001d0 Num hooks: 2
Name: WirelessNAT2173143 Type: nat ID: 000003f4 Num hooks: 2
Name: WirelessNAT2175024 Type: nat ID: 000003ac Num hooks: 2
Name: WirelessNAT2172234 Type: nat ID: 00000363 Num hooks: 2
Name: WirelessNAT2173035 Type: nat ID: 0000034f Num hooks: 2
Name: WirelessNAT2172216 Type: nat ID: 000002cf Num hooks: 2
Name: WirelessNAT2182071 Type: nat ID: 0000020e Num hooks: 2
Name: WirelessNAT2183115 Type: nat ID: 000001ec Num hooks: 2
Name: WirelessNAT2182233 Type: nat ID: 000001d8 Num hooks: 2
Name: WirelessNAT2172037 Type: nat ID: 0000037e Num hooks: 2
Name: WirelessNAT2182009 Type: nat ID: 00000309 Num hooks: 2
Name: WirelessNAT2173144 Type: nat ID: 000002fd Num hooks: 2
Name: WirelessNAT2174107 Type: nat ID: 000002e3 Num hooks: 2
Name: WirelessNAT2173180 Type: nat ID: 0000027f Num hooks: 2
Name: WirelessNAT2172073 Type: nat ID: 00000208 Num hooks: 2
Name: WirelessNAT2175008 Type: nat ID: 000003e8 Num hooks: 2
Name: WirelessNAT2172236 Type: nat ID: 00000349 Num hooks: 2
Name: WirelessNAT2182226 Type: nat ID: 0000030f Num hooks: 2
Name: WirelessNAT2174135 Type: nat ID: 00000305 Num hooks: 1
Name: WirelessNAT2183171 Type: nat ID: 000002f7 Num hooks: 2
Name: WirelessNAT2173235 Type: nat ID: 000002e9 Num hooks: 2
Name: WirelessNAT2175215 Type: nat ID: 0000028f Num hooks: 2
Name: WirelessNAT2172038 Type: nat ID: 00000263 Num hooks: 2
Name: WirelessNAT2175035 Type: nat ID: 0000025b Num hooks: 2
Name: WirelessNAT2172065 Type: nat ID: 000001a8 Num hooks: 2
Name: WirelessNAT2132096 Type: nat ID: 00000134 Num hooks: 2
Name: UnauthNat Type: nat ID: 00000004 Num hooks: 2
Name: WirelessNAT2175072 Type: nat ID: 0000040c Num hooks: 2
Name: WirelessNAT2175081 Type: nat ID: 000003ee Num hooks: 2
Name: WirelessNAT2182173 Type: nat ID: 000003c4 Num hooks: 2
Name: WirelessNAT2183019 Type: nat ID: 0000033d Num hooks: 2
Name: WirelessNAT2175162 Type: nat ID: 00000315 Num hooks: 2
Name: WirelessNAT2183226 Type: nat ID: 000002d5 Num hooks: 2
Name: WirelessNAT2132178 Type: nat ID: 000002b8 Num hooks: 2
Name: WirelessNAT2175045 Type: nat ID: 00000297 Num hooks: 2
Name: WirelessNAT2182254 Type: nat ID: 00000255 Num hooks: 2
Name: WirelessNAT2132088 Type: nat ID: 00000245 Num hooks: 2
Name: WirelessNAT2183127 Type: nat ID: 00000228 Num hooks: 2
Name: WirelessNAT2173146 Type: nat ID: 0000021c Num hooks: 2
Name: WirelessNAT2183163 Type: nat ID: 00000198 Num hooks: 2
Name: WirelessNAT2172147 Type: nat ID: 00000188 Num hooks: 2
Name: WirelessNAT2174038 Type: nat ID: 0000032f Num hooks: 2
Name: WirelessNAT2182129 Type: nat ID: 000002c8 Num hooks: 2
Name: WirelessNAT2183173 Type: nat ID: 00000287 Num hooks: 2
Name: WirelessNAT2175064 Type: nat ID: 00000269 Num hooks: 2
Name: WirelessNAT2183083 Type: nat ID: 0000024f Num hooks: 2
Name: WirelessNAT2182255 Type: nat ID: 00000237 Num hooks: 2
Name: WirelessNAT2172085 Type: nat ID: 00000231 Num hooks: 2
Name: WirelessNAT2172157 Type: nat ID: 000001c0 Num hooks: 2
Name: WirelessNAT2174083 Type: nat ID: 000001ba Num hooks: 2
Name: WirelessNAT2173066 Type: nat ID: 00000174 Num hooks: 2
Name: WirelessNAT2132098 Type: nat ID: 0000016c Num hooks: 2
Name: WirelessNAT2183156 Type: nat ID: 00000400 Num hooks: 2
Name: WirelessNAT2182076 Type: nat ID: 00000384 Num hooks: 2
Name: WirelessNAT2175047 Type: nat ID: 00000323 Num hooks: 2
Name: WirelessNAT2173094 Type: nat ID: 00000190 Num hooks: 2
Name: WirelessNAT2173166 Type: nat ID: 00000154 Num hooks: 2
Name: WirelessNAT2183157 Type: nat ID: 000003d2 Num hooks: 2
Name: WirelessNAT2183229 Type: nat ID: 00000126 Num hooks: 2
Name: WirelessNAT2182195 Type: nat ID: 000003da Num hooks: 2
Name: WirelessNAT2173087 Type: nat ID: 000003be Num hooks: 2
Name: WirelessNAT2173186 Type: nat ID: 00000200 Num hooks: 2
Name: WirelessNAT2175067 Type: nat ID: 000001f8 Num hooks: 2
Name: WirelessNAT2182169 Type: nat ID: 00000378 Num hooks: 2
Name: WirelessNAT2172198 Type: nat ID: 0000035b Num hooks: 2
Name: WirelessNAT2173179 Type: nat ID: 000002a8 Num hooks: 2
Name: WirelessNAT2175098 Type: nat ID: 000003b2 Num hooks: 2
Name: ipfw Type: ipfw ID: 00000001 Num hooks: 191
/usr/sbin/ngctl show ipfw:
Name: ipfw Type: ipfw ID: 00000001 Num hooks: 191
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
102175072 WirelessNAT2175072 nat 0000040c in
202175072 WirelessNAT2175072 nat 0000040c out
102174022 WirelessNAT2174022 nat 00000406 in
202174022 WirelessNAT2174022 nat 00000406 out
102183156 WirelessNAT2183156 nat 00000400 in
202183156 WirelessNAT2183156 nat 00000400 out
102132047 WirelessNAT2132047 nat 000003fa in
202132047 WirelessNAT2132047 nat 000003fa out
102173143 WirelessNAT2173143 nat 000003f4 in
202173143 WirelessNAT2173143 nat 000003f4 out
102175081 WirelessNAT2175081 nat 000003ee in
202175081 WirelessNAT2175081 nat 000003ee out
102175008 WirelessNAT2175008 nat 000003e8 in
202175008 WirelessNAT2175008 nat 000003e8 out
102132055 WirelessNAT2132055 nat 000003e2 in
202132055 WirelessNAT2132055 nat 000003e2 out
102182195 WirelessNAT2182195 nat 000003da in
202182195 WirelessNAT2182195 nat 000003da out
102183157 WirelessNAT2183157 nat 000003d2 in
202183157 WirelessNAT2183157 nat 000003d2 out
102132070 WirelessNAT2132070 nat 000003ca in
202132070 WirelessNAT2132070 nat 000003ca out
102182173 WirelessNAT2182173 nat 000003c4 in
202182173 WirelessNAT2182173 nat 000003c4 out
102173087 WirelessNAT2173087 nat 000003be in
202173087 WirelessNAT2173087 nat 000003be out
102175098 WirelessNAT2175098 nat 000003b2 in
202175098 WirelessNAT2175098 nat 000003b2 out
102175024 WirelessNAT2175024 nat 000003ac in
202175024 WirelessNAT2175024 nat 000003ac out
102173023 WirelessNAT2173023 nat 000003a6 in
202173023 WirelessNAT2173023 nat 000003a6 out
102172033 WirelessNAT2172033 nat 0000039e in
202172033 WirelessNAT2172033 nat 0000039e out
102132066 WirelessNAT2132066 nat 00000398 in
202132066 WirelessNAT2132066 nat 00000398 out
102173111 WirelessNAT2173111 nat 00000392 in
202173111 WirelessNAT2173111 nat 00000392 out
102182100 WirelessNAT2182100 nat 0000038a in
202182100 WirelessNAT2182100 nat 0000038a out
102182076 WirelessNAT2182076 nat 00000384 in
202182076 WirelessNAT2182076 nat 00000384 out
102172037 WirelessNAT2172037 nat 0000037e in
202172037 WirelessNAT2172037 nat 0000037e out
102182169 WirelessNAT2182169 nat 00000378 in
202182169 WirelessNAT2182169 nat 00000378 out
102174111 WirelessNAT2174111 nat 00000372 in
202174111 WirelessNAT2174111 nat 00000372 out
102174210 WirelessNAT2174210 nat 0000036a in
202174210 WirelessNAT2174210 nat 0000036a out
102172234 WirelessNAT2172234 nat 00000363 in
202172234 WirelessNAT2172234 nat 00000363 out
102172198 WirelessNAT2172198 nat 0000035b in
202172198 WirelessNAT2172198 nat 0000035b out
102173012 WirelessNAT2173012 nat 00000355 in
202173012 WirelessNAT2173012 nat 00000355 out
102173035 WirelessNAT2173035 nat 0000034f in
202173035 WirelessNAT2173035 nat 0000034f out
102172236 WirelessNAT2172236 nat 00000349 in
202172236 WirelessNAT2172236 nat 00000349 out
102175100 WirelessNAT2175100 nat 00000343 in
202175100 WirelessNAT2175100 nat 00000343 out
102183019 WirelessNAT2183019 nat 0000033d in
202183019 WirelessNAT2183019 nat 0000033d out
102132062 WirelessNAT2132062 nat 00000337 in
202132062 WirelessNAT2132062 nat 00000337 out
102174038 WirelessNAT2174038 nat 0000032f in
202174038 WirelessNAT2174038 nat 0000032f out
102182240 WirelessNAT2182240 nat 00000329 in
202182240 WirelessNAT2182240 nat 00000329 out
102175047 WirelessNAT2175047 nat 00000323 in
202175047 WirelessNAT2175047 nat 00000323 out
102174041 WirelessNAT2174041 nat 0000031d in
202174041 WirelessNAT2174041 nat 0000031d out
102175162 WirelessNAT2175162 nat 00000315 in
202175162 WirelessNAT2175162 nat 00000315 out
102182226 WirelessNAT2182226 nat 0000030f in
202182226 WirelessNAT2182226 nat 0000030f out
102182009 WirelessNAT2182009 nat 00000309 in
202182009 WirelessNAT2182009 nat 00000309 out
202174135 WirelessNAT2174135 nat 00000305 out
102173144 WirelessNAT2173144 nat 000002fd in
202173144 WirelessNAT2173144 nat 000002fd out
102183171 WirelessNAT2183171 nat 000002f7 in
202183171 WirelessNAT2183171 nat 000002f7 out
102172040 WirelessNAT2172040 nat 000002ef in
202172040 WirelessNAT2172040 nat 000002ef out
102173235 WirelessNAT2173235 nat 000002e9 in
202173235 WirelessNAT2173235 nat 000002e9 out
102174107 WirelessNAT2174107 nat 000002e3 in
202174107 WirelessNAT2174107 nat 000002e3 out
102173033 WirelessNAT2173033 nat 000002db in
202173033 WirelessNAT2173033 nat 000002db out
102183226 WirelessNAT2183226 nat 000002d5 in
202183226 WirelessNAT2183226 nat 000002d5 out
102172216 WirelessNAT2172216 nat 000002cf in
202172216 WirelessNAT2172216 nat 000002cf out
102182129 WirelessNAT2182129 nat 000002c8 in
202182129 WirelessNAT2182129 nat 000002c8 out
102173201 WirelessNAT2173201 nat 000002c0 in
202173201 WirelessNAT2173201 nat 000002c0 out
102132178 WirelessNAT2132178 nat 000002b8 in
202132178 WirelessNAT2132178 nat 000002b8 out
102183212 WirelessNAT2183212 nat 000002b0 in
202183212 WirelessNAT2183212 nat 000002b0 out
102173179 WirelessNAT2173179 nat 000002a8 in
202173179 WirelessNAT2173179 nat 000002a8 out
102172132 WirelessNAT2172132 nat 0000029f in
202172132 WirelessNAT2172132 nat 0000029f out
102175045 WirelessNAT2175045 nat 00000297 in
202175045 WirelessNAT2175045 nat 00000297 out
102175215 WirelessNAT2175215 nat 0000028f in
202175215 WirelessNAT2175215 nat 0000028f out
102183173 WirelessNAT2183173 nat 00000287 in
202183173 WirelessNAT2183173 nat 00000287 out
102173180 WirelessNAT2173180 nat 0000027f in
202173180 WirelessNAT2173180 nat 0000027f out
102173025 WirelessNAT2173025 nat 00000271 in
202173025 WirelessNAT2173025 nat 00000271 out
102175064 WirelessNAT2175064 nat 00000269 in
202175064 WirelessNAT2175064 nat 00000269 out
102172038 WirelessNAT2172038 nat 00000263 in
202172038 WirelessNAT2172038 nat 00000263 out
102175035 WirelessNAT2175035 nat 0000025b in
202175035 WirelessNAT2175035 nat 0000025b out
102182254 WirelessNAT2182254 nat 00000255 in
202182254 WirelessNAT2182254 nat 00000255 out
102183083 WirelessNAT2183083 nat 0000024f in
202183083 WirelessNAT2183083 nat 0000024f out
102132088 WirelessNAT2132088 nat 00000245 in
202132088 WirelessNAT2132088 nat 00000245 out
102183201 WirelessNAT2183201 nat 0000023f in
202183201 WirelessNAT2183201 nat 0000023f out
102182255 WirelessNAT2182255 nat 00000237 in
202182255 WirelessNAT2182255 nat 00000237 out
102172085 WirelessNAT2172085 nat 00000231 in
202172085 WirelessNAT2172085 nat 00000231 out
102183127 WirelessNAT2183127 nat 00000228 in
202183127 WirelessNAT2183127 nat 00000228 out
102173146 WirelessNAT2173146 nat 0000021c in
202173146 WirelessNAT2173146 nat 0000021c out
102182071 WirelessNAT2182071 nat 0000020e in
202182071 WirelessNAT2182071 nat 0000020e out
102172073 WirelessNAT2172073 nat 00000208 in
202172073 WirelessNAT2172073 nat 00000208 out
102173186 WirelessNAT2173186 nat 00000200 in
202173186 WirelessNAT2173186 nat 00000200 out
102175067 WirelessNAT2175067 nat 000001f8 in
202175067 WirelessNAT2175067 nat 000001f8 out
102173061 WirelessNAT2173061 nat 000001f2 in
202173061 WirelessNAT2173061 nat 000001f2 out
102183115 WirelessNAT2183115 nat 000001ec in
202183115 WirelessNAT2183115 nat 000001ec out
102132147 WirelessNAT2132147 nat 000001e6 in
202132147 WirelessNAT2132147 nat 000001e6 out
102182233 WirelessNAT2182233 nat 000001d8 in
202182233 WirelessNAT2182233 nat 000001d8 out
102183051 WirelessNAT2183051 nat 000001d0 in
202183051 WirelessNAT2183051 nat 000001d0 out
102183102 WirelessNAT2183102 nat 000001c6 in
202183102 WirelessNAT2183102 nat 000001c6 out
102172157 WirelessNAT2172157 nat 000001c0 in
202172157 WirelessNAT2172157 nat 000001c0 out
102174083 WirelessNAT2174083 nat 000001ba in
202174083 WirelessNAT2174083 nat 000001ba out
102132017 WirelessNAT2132017 nat 000001b2 in
202132017 WirelessNAT2132017 nat 000001b2 out
102172065 WirelessNAT2172065 nat 000001a8 in
202172065 WirelessNAT2172065 nat 000001a8 out
102132142 WirelessNAT2132142 nat 0000019e in
202132142 WirelessNAT2132142 nat 0000019e out
102183163 WirelessNAT2183163 nat 00000198 in
202183163 WirelessNAT2183163 nat 00000198 out
102173094 WirelessNAT2173094 nat 00000190 in
202173094 WirelessNAT2173094 nat 00000190 out
102172147 WirelessNAT2172147 nat 00000188 in
202172147 WirelessNAT2172147 nat 00000188 out
102173066 WirelessNAT2173066 nat 00000174 in
202173066 WirelessNAT2173066 nat 00000174 out
102132098 WirelessNAT2132098 nat 0000016c in
202132098 WirelessNAT2132098 nat 0000016c out
102173166 WirelessNAT2173166 nat 00000154 in
202173166 WirelessNAT2173166 nat 00000154 out
102132096 WirelessNAT2132096 nat 00000134 in
202132096 WirelessNAT2132096 nat 00000134 out
102183229 WirelessNAT2183229 nat 00000126 in
202183229 WirelessNAT2183229 nat 00000126 out
102173220 WirelessNAT2173220 nat 00000010 in
202173220 WirelessNAT2173220 nat 00000010 out
1 UnauthNat nat 00000004 in
2 UnauthNat nat 00000004 out
> >>>sudo ngctl show ipfw:102174202
> >>> Name: WirelessNAT2182138 Type: nat ID: 000062ee Num
> >>> hooks: 2
> >>> Local hook Peer name Peer type Peer ID Peer hook
> >>> ---------- --------- --------- ------- ---------
> >>> in ipfw ipfw 00005a83 102182138
> >>> out ipfw ipfw 00005a83 202182138
> >>>
> >>>But WirelessNAT2182138 has no record of a hook102174202. Somehow, two
> >>>hooks used to refer to what should be two different NAT sessions are
> >>>pointing to the same ng_nat(4) object (i.e. one session). If I run
> >>>shutdown on ipfw:102174202, WirelessNAT2182138 goes away. Given the
> >>>above calls to ngctl(8), I don't know what is causing these two separate
> >>>hooks to refer to the same ng_nat(4) object.
> >>you might name the ipfw nodes to make the output clearer.
> >
> >ng_ipfw(4) uses a single node to pass traffic from ipfw(4) to
> >netgraph(4). You associate as many hooks with this node as you like and
> >then direct traffic via the single ng_ipfw(4) node to different hooks
> >using ipfw(8) rules such as
> >
> >01230 netgraph tablearg ip from table(87) to any in
> >
> >Suppose a packet comes in for IP address 10.10.113.226 and rule 1230
> >is reached during the processing of the ipfw ruleset. According to the
> >above rule, ipfw(4) will look up 10.10.113.226/32 in table 87 and if
> >it finds a matching key in the table, it will tag the packet with the
> >matching table entry's value and send the packet to the ng_ipfw(4)
> >node. ng_ipfw(4) will then examine the tag and look for an associated
> >hook with a matching name. If such a hook is found the packet is sent
> >on to the node associated with the hook. In the case of 10.10.113.226,
> >table 87 contains the following entry.
> >
> >10.10.113.226/32 202173114
> >
> >Hook 202173114 refers to the following ng_nat node.
> >
> >sudo ngctl show ipfw:202173114
> > Name: WirelessNAT2173114 Type: nat ID: 000015f0 Num hooks:
> > 2
> > Local hook Peer name Peer type Peer ID Peer hook
> > ---------- --------- --------- ------- ---------
> > in ipfw ipfw 00000001 102173114
> > out ipfw ipfw 00000001 202173114
> >
> >which is configured for one to one NAT as follows.
> >
> >sudo ngctl msg WirelessNAT2173114: listredirects
> >Rec'd response "listredirects" (10) from "[15f0]:":
> >Args: { total_count=1 redirects=[ { id=1 local_addr=10.10.113.226
> >alias_addr=x.x.173.114 proto=259 description="Static NAT" } ] }
> >
> >There is a similar path for traffic coming in to the globally routable
> >side of these one to one NAT nodes.
> >
> >>I have not looked at the ipfw node type much but it is possible
> >>that is suffers from races.
> >>Especially in the face of ipfw rule changes.
> >
> >Can you think of an example in any other netgraph module of proper
> >concurrency handling I can use as a reference when looking at
> >ng_ipfw(4)?
> >
> >By using tables we don't need to update the ruleset itself. The
> >ruleset is (normally) loaded once after the machine boots. The table
> >updates take place after all the calls to ngctl(8) and after the call
> >to arp(8). I will take a look at the interface between ipfw(4) and
> >ng_ipfw(4).
> >
> >>have you tried adding small delays (sleep 0.5) betwenn the calls by
> >>the way?
> >
> >I've now added sleep 0.5 between the calls to ngctl. I'll let you know
> >if that helps at all; thanks for the suggestion.
More information about the freebsd-net
mailing list