I'm going to fix it (will require a kernel patch, probably will end up in -stable), but depending on what you wanted to do with the ioctl, there's alternatives:
DIOCCHANGEADDR is meant to manipulate the pool addresses of a rule, depending on the rule type that's
rdr ... -> { a, b, c } ... nat ... -> { a, b, c } ... pass route-to { a, b, c } ...
[...]
So, do you really want to change a pool address? If that's the case,
we'll have to fix the ioctl first. Otherwise I can supply an example for
DIOCCHANGERULE. Tell me what you want to do.
There might be an alternative way :) Just grab the latest version of -current (2 minutes old maximum). With that you will be able to put tables in pools, like:
nat from a to b -> <foo>
And them manipulate addresses in <foo> using pfctl or table ioctls. Feedback welcome! Cedric
PS: you might have to wait for the code to propagate to the mirrors...