Unicast Routing Theoretically, there is nothing special to handle IPv6. routing socket is generic enough to support various address familes. note about sizeof(sockaddr) KAME kernels have some twists to support link-local gateways. link identifiers are embedded in 3 and 4 octets in in6_addr: fe80::1234 at the link ID 1 -> fe80:1::1234 due to the generality of the routing socket, this hack can't be hidden from applications. an application should get/set the embedded IDs by itself. see KAME's route6d implementation as reference.