Following up on an old message, sorry...
Agreed. I wasn't sure of the context, just that IP+EXT+whatever might not do it. Destination options however provide the facilities today for skipping over them without making assumptions; this might not in practice be any better though.
If a firewall is built on the philosophy to be conservative it will not let anything new through, whether it is a new payload type, a new option, or whatever.
So, the demux code needs to deal with ICMPv6 address translation. What about other protocols? Do we want to care for the others which might be doing similar things, or we just say 'just do the referral thing'?
What other protocols do you have in mind?
[...]
The fact this is an ALG in a sense should possibly be stated, with the caveat that we're assuming that there aren't other equally "fundamental" protocols where you shouldn't be required deal with the full referral process.
Why do you wish to confuse things by calling it an ALG? It is a local matter for the implementation how it demuxes ICMP errors. ALGs and NATs make people think of middleboxes which perform transformations which can not be reversed.
-- Pekka Savola "You each name yourselves king, yet the Netcore Oy kingdom bleeds." Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings