Home | History | Annotate | Download | only in net
History log of /src/sys/net/if_dl.h
RevisionDateAuthorComments
 1.31  07-Nov-2022  msaitoh Increase sdl_data so that more then IFNAMSIZ bytes are available (again).

COMPAT_9 is not required.

- The getifaddrs(3) function has no problem. The routing message has no
problem because struct rtm_msglen has rtm_msglen and we can get the next
message using with it. There is no any kernel data structure which has
struct sockaddr_dl foobadr[xxx] array.

- A data passed from userland and a kernel data are compared with
sockaddr_cmp(). The return value is used to check if the size is
inadequate or not.

- In the kernel, sdl_len is not directly used for the length of memcpy()
but the sockaddr_dl_measure() is used for it.
 1.30  27-Oct-2022  msaitoh Revert if_dl.h change. It'll be commited with the COMPAT_9 code in future.
 1.29  24-Oct-2022  msaitoh Increase sdl_data so that more then IFNAMSIZ bytes are available.

- Increase the size of dl_data[] from 12 to 24.
- Same as OpenBSD.
 1.28  30-Apr-2019  kre Whitespace consistency. NFC.
 1.27  29-Apr-2019  roy Move lla_snprintf from if_arp.c to dl_print.c
 1.26  03-Dec-2014  christos branches: 1.26.18;
add DL_PRINT macro
 1.25  02-Dec-2014  christos missed _
 1.24  02-Dec-2014  christos - split struct dladdr out of struct sockaddr_dl
- add routines to print struct sockaddr_dl and struct dladdr
- make if_dl.h idempotent
 1.23  20-Feb-2008  matt branches: 1.23.54; 1.23.74;
Revert change of char to int8_t.
 1.22  20-Feb-2008  matt s/u_\(int[0-9]*_t\)/u\1/g
(change u_int*_t to uint*_t)
 1.21  30-Aug-2007  dyoung Use malloc(9) for sockaddrs instead of pool(9), and remove dom_sa_pool
and dom_sa_len members from struct domain. Pools of fixed-size
objects are too rigid for sockaddr_dls, whose size can vary over
a wide range.

Return sockaddr_dl to its "historical" size. Now that I'm using
malloc(9) instead of pool(9) to allocate sockaddr_dl, I can create
a sockaddr_dl of any size in the kernel, so expanding sockaddr_dl
is useless.

Avoid using sizeof(struct sockaddr_dl) in the kernel.

Introduce sockaddr_dl_alloc() for allocating & initializing an
arbitrary sockaddr_dl on the heap.

Add an argument, the sockaddr length, to sockaddr_alloc(),
sockaddr_copy(), and sockaddr_dl_setaddr().

Constify: LLADDR() -> CLLADDR().

Where the kernel overwrites LLADDR(), use sockaddr_dl_setaddr(),
instead. Used properly, sockaddr_dl_setaddr() will not overrun
the end of the sockaddr.
 1.20  07-Aug-2007  dyoung branches: 1.20.2; 1.20.4;
As a stopgap measure to avoid dependency on net/if.h, don't use
IFNAMSIZ.
 1.19  07-Aug-2007  dyoung Lengthen sockaddr_dl so that a 16-byte FireWire address will fit
into sdl_data[].

Move the macro satocsdl() to net/if_dl.h, and introduce satosdl().

Add some helpers for initializing sockaddr_dl (sockaddr_dl_init),
for finding out the length to put in a sockaddr_dl's sdl_len member
(sockaddr_dl_measure), and for setting the link-layer address in
a sockaddr_dl to a new value (sockaddr_dl_setaddr).

Make sockaddr_copy() panic if the caller tries to copy a sockaddr
to a destination where it will not fit.
 1.18  11-Dec-2005  thorpej branches: 1.18.30; 1.18.40; 1.18.44;
ANSI function decls and application of static.
 1.17  10-Dec-2005  elad Multiple inclusion protection, as suggested by christos@ on tech-kern@
few days ago.
 1.16  31-May-2005  christos branches: 1.16.2;
change casts back to char * and explain why.
 1.15  30-May-2005  christos Add a CLLADDR macro which is the same as LLADDR only const. Make both macros
return void pointers.
 1.14  26-Feb-2005  perry nuke trailing whitespace
 1.13  20-Nov-2004  wiz branches: 1.13.4; 1.13.6;
Apply patch from PR 23990 by Greg Troxel (s/AF_DLI/AF_LINK/ in a comment):
<net/if_dl.h> defines struct sockaddr_dl. On the line defining member
"sdl_family" (which overlaps "sa_family" in struct sockaddr), the
comment says AF_DLI.

But,
1) AF_DLI is said to be a DEC Direct data link interface
(sys/socket.h)
2) The kernel actually sends sockaddr_dl structs with AF_LINK.
 1.12  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.11  28-Jul-2000  kleink branches: 1.11.24;
Avoid recursion with traditional cpp.
 1.10  26-Jun-2000  kleink Define sa_family_t and use it for sdl_family.
 1.9  09-Feb-1998  perry branches: 1.9.14;
add multiple inclusion protection (and cleanup).
 1.8  26-Mar-1995  jtc KERNEL -> _KERNEL
 1.7  12-Mar-1995  cgd punt on using int8 types for chars, at least for now. char is 8 byts anyway.
 1.6  08-Mar-1995  cgd fixed sized types, where appropriate. when casting pointers to
integers to do math on them, cast to long. ioctl commands are
u_longs.
 1.5  29-Jun-1994  cgd New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.4  13-May-1994  mycroft Update to 4.4-Lite networking code, with a few local changes.
 1.3  20-May-1993  cgd add rcs ids to everything, and clean up headers
 1.2  19-Apr-1993  mycroft Add consistent multiple-inclusion protection.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  01-Mar-1998  fvdl Import 4.4BSD-Lite for reference
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.9.14.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.11.24.7  11-Dec-2005  christos Sync with head.
 1.11.24.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.11.24.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.11.24.4  29-Nov-2004  skrll Sync with HEAD.
 1.11.24.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.24.2  18-Sep-2004  skrll Sync with HEAD.
 1.11.24.1  03-Aug-2004  skrll Sync with HEAD
 1.13.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.13.4.1  29-Apr-2005  kent sync with -current
 1.16.2.3  27-Feb-2008  yamt sync with head.
 1.16.2.2  03-Sep-2007  yamt sync with head.
 1.16.2.1  21-Jun-2006  yamt sync with head.
 1.18.44.2  03-Sep-2007  jmcneill Sync with HEAD.
 1.18.44.1  09-Aug-2007  jmcneill Sync with HEAD.
 1.18.40.2  03-Sep-2007  skrll Sync with HEAD.
 1.18.40.1  15-Aug-2007  skrll Sync with HEAD.
 1.18.30.2  09-Oct-2007  ad Sync with head.
 1.18.30.1  20-Aug-2007  ad Sync with HEAD.
 1.20.4.2  07-Aug-2007  dyoung As a stopgap measure to avoid dependency on net/if.h, don't use
IFNAMSIZ.
 1.20.4.1  07-Aug-2007  dyoung file if_dl.h was added on branch matt-mips64 on 2007-08-07 04:59:47 +0000
 1.20.2.2  23-Mar-2008  matt sync with HEAD
 1.20.2.1  06-Nov-2007  matt sync with HEAD
 1.23.74.1  06-Apr-2015  skrll Sync with HEAD
 1.23.54.1  03-Dec-2017  jdolecek update from HEAD
 1.26.18.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed