diff options
| author | Luigi Rizzo <luigi@FreeBSD.org> | 2004-04-16 10:28:54 +0000 |
|---|---|---|
| committer | Luigi Rizzo <luigi@FreeBSD.org> | 2004-04-16 10:28:54 +0000 |
| commit | d65d2351b065e7d3e2845c75a6116257eecdd8f7 (patch) | |
| tree | 4a9d0297a6d51ed61f22d7219315458548032cc9 /sys/net | |
| parent | 97494ccf8b0dfb0fb81a2938217bce867743483d (diff) | |
Notes
Diffstat (limited to 'sys/net')
| -rw-r--r-- | sys/net/if_var.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 1d40470526cc0..9494129175f3b 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -133,10 +133,13 @@ struct ifnet { struct ifaddrhead if_addrhead; /* linked list of addresses per if */ /* * if_addrhead is the list of all addresses associated to - * an interface. The first element of the list must be - * of type AF_LINK, and contains sockaddr_dl addresses, - * which include the link-level address and the name + * an interface. + * Some code in the kernel assumes that first element + * of the list has type AF_LINK, and contains sockaddr_dl + * addresses which store the link-level address and the name * of the interface. + * However, access to the AF_LINK address through this + * field is deprecated. Use ifaddr_byindex() instead. */ struct klist if_klist; /* events attached to this if */ int if_pcount; /* number of promiscuous listeners */ @@ -442,6 +445,11 @@ struct ifindex_entry { }; #define ifnet_byindex(idx) ifindex_table[(idx)].ife_ifnet +/* + * Given the index, ifaddr_byindex() returns the one and only + * link-level ifaddr for the interface. You are not supposed to use + * it to traverse the list of addresses associated to the interface. + */ #define ifaddr_byindex(idx) ifindex_table[(idx)].ife_ifnet_addr #define ifdev_byindex(idx) ifindex_table[(idx)].ife_dev |
