Outline Socket programming in dual stack environments Rules of thumb Useful library functions Kernel behavior Portability issues Advanced socket programming Raw IPv6 sockets extension header manipulation IPv6 multicasting IPv6 routing BSD kernel programming architecture debugging techniques