bycn82’s rewrite of IPFW2 is available as a git branch to try out; he’s posted the link. Please try, especially if you are still working with the original ipfw.
(note: remember, ‘ipfw’ in DragonFly is what was called ‘ipfw2’ years and years ago because it was a replacement of the original ‘ipfw’ in FreeBSD. It was called ipfw2 but referenced as ipfw so that the same commands worked. Technically, this branch bycn82 is working on would be ipfw3, but he keeps referring to it as ipfw2. Confused? Good.)