This code is handling the option field in incoming IPv6 packets. The object being manipulated is a linked list of packet structs. And that linked list is almost always a single member list.
IP breaks down data into smaller packets, so that it can transmit over a network smoothly. There are currently two versions of Internet Protocol: IPv4 (IP version 4) and IPv6 (IP version 6).