History log of /src/sbin/ifconfig/util.h |
Revision | | Date | Author | Comments |
1.13 |
| 30-Jun-2019 |
sevan | Add rcsid
|
1.12 |
| 07-Jan-2016 |
roy | branches: 1.12.16; -W seconds will wait for the detached flag to clear on addresses on interfaces marked up to allow time for the carrier to appear on the interface.
This does not extend the -w option duration.
|
1.11 |
| 22-Apr-2015 |
roy | Move the INET6 specific code for wait_dad_exec() into af_inet6 by using a new afswtch hook af_addr_tentative.
|
1.10 |
| 19-Oct-2013 |
christos | use the new scopeid functions
|
1.9 |
| 01-Jul-2010 |
dyoung | branches: 1.9.6; 1.9.12; Add to the string parse object (pstr), and its constructors, a flag that tells whether it should detect and convert to binary a hexadecimal octet string of the form 0x0123ABab, or leave those strings undecoded.
If the argument for a 'media', 'mediamode', 'mediaopt', '-mediaopt', 'nwkey', or 'bssid' keyword is a hexadecimal octet string, do not detect and decode it. (Note that setifnwkey decodes hexadecimal strings on its own.)
This fixes a bug noticed by Jim Miller where the trailing zero-octets were discarded from hexadecimal octet-string arguments for 'nwkey'.
|
1.8 |
| 11-Sep-2009 |
dyoung | Make ifconfig(8) set and display preference numbers for IPv6 addresses. Make the kernel support SIOC[SG]IFADDRPREF for IPv6 interface addresses.
In in6ifa_ifpforlinklocal(), consult preference numbers before making an otherwise arbitrary choice of in6_ifaddr. Otherwise, preference numbers are *not* consulted by the kernel, but that will be rather easy for somebody with a little bit of free time to fix.
Please note that setting the preference number for a link-local IPv6 address does not work right, yet, but that ought to be fixed soon.
In support of the changes above,
1 Add a method to struct domain for "externalizing" a sockaddr, and provide an implementation for IPv6. Expect more work in this area: it may be more proper to say that the IPv6 implementation "internalizes" a sockaddr. Add sockaddr_externalize().
2 Add a subroutine, sofamily(), that returns a struct socket's address family or AF_UNSPEC.
3 Make a lot of IPv4-specific code generic, and move it from sys/netinet/ to sys/net/ for re-use by IPv6 parts of the kernel and ifconfig(8).
|
1.7 |
| 21-Apr-2009 |
dyoung | To make sure that we always print the active link-layer address in the 'address: ' field, don't treat the first address as the active address, but search the link-layer addresses for the ones flagged IFLR_ACTIVE, and print those. Extract a subroutine, print_link_addresses(), for printing link-layer addresses.
|
1.6 |
| 02-Jul-2008 |
dyoung | branches: 1.6.2; 1.6.4; 1.6.8; Let us add/remove features from ifconfig, such as support for various address families (inet, inet6, iso, atalk) and protocols (802.11, 802.3ad, CARP), simply by trimming the list of sources in the Makefile. This helps one customize ifconfig for an embedded device or for install media, and it eliminates a lot of grotty #ifdef'age. Now, the ifconfig syntax and semantics are finalized at run-time using the constructor routines in each address-family/protocol module.
(In principle, ifconfig could load virtually all of its syntax from shared objects.)
Extract a lot of common code into subroutines, in order to shrink the ifconfig binary a bit. Make all of the address families share code for address addition/replacement/removal, and delete "legacy" code for manipulating addresses. That may have broken atalk and iso, despite my best efforts.
Extract an include file, Makefile.inc, containing the make-fu that both ifconfig and x_ifconfig share.
Sprinkle static. Change some int's to bool's. Constify.
Add RCS Ids to carp.c and env.c. Move media code to a new file, media.c. Delete several unneeded header files.
Set, reset, and display the IEEE 802.11 attribute, 'dot11RTSThreshold'.
Bug fix: do not require both a interface address and a destination address for point-to-point interfaces, but accept a interface address by itself.
|
1.5 |
| 03-Jun-2008 |
dyoung | Remove remnants of struct afswtch.af_getprefix().
|
1.4 |
| 07-May-2008 |
dyoung | branches: 1.4.2; 1.4.4; Factor out common code, creating direct_ioctl() and indirect_ioctl() for the two most prevalent styles of ioctl(2) calls in ifconfig(8).
|
1.3 |
| 06-May-2008 |
dyoung | branches: 1.3.2; Use prop_dictionary_util(3) some more.
When we read interface flags and capabilities from the kernel, take care not to record them in our current environment (env), but record them in the output environment (oenv), instead. This helps us get interface capabilities and flags right.
|
1.2 |
| 06-May-2008 |
dyoung | Rename in_addr_commit() to commit_address(), and refactor slightly to support IPv6 as well as IPv4 (a work in progress).
Make the second argument of af_status() a bool instead of an int.
Exit early with an error if the operator specifies an unsupported address family on the command line. The change should help rc scripts to detect that IPv6 support is missing from the kernel, with 'ifconfig lo0 inet6'.
Start using prop_dictionary_util(3).
|
1.1 |
| 06-May-2008 |
dyoung | Overhaul ifconfig. Use fewer global variables. Take a leap toward improved modularity and extensibility.
In the new architecture, a directed graph of argument-matching objects (match objects) expresses the set of feasible ifconfig statements. Match objects are labelled by subroutines that provide the statement semantics.
Many IPv4, IPv6, 802.11, tunnel, and media configurations have been tested.
AppleTalk, ISO, carp(4), agr(4), and vlan(4) configuration need testing.
|
1.3.2.2 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.3.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.4.4.4 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.4.4.3 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.4.4.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.4.4.1 |
| 07-May-2008 |
mjf | file util.h was added on branch mjf-devfs2 on 2008-06-02 13:21:22 +0000
|
1.4.2.3 |
| 17-Jun-2008 |
yamt | sync with head.
|
1.4.2.2 |
| 18-May-2008 |
yamt | sync with head.
|
1.4.2.1 |
| 07-May-2008 |
yamt | file util.h was added on branch yamt-pf42 on 2008-05-18 12:30:53 +0000
|
1.6.8.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.6.4.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.6.2.1 |
| 03-May-2009 |
bouyer | Pull up following revision(s) (requested by dyoung in ticket #730): sbin/ifconfig/af_link.c: revisions 1.4 - 1.6 sbin/ifconfig/util.h: revision 1.7 sbin/ifconfig/util.c: revisions 1.10, 1.11 lib/libc/net/getifaddrs.c: revision 1.12 lib/libc/net/getifaddrs.3: revision 1.10 sbin/ifconfig/ifconfig.c: revisions 1.216 - 1.218 Fix indentation: change spaces to tabs. Use getnameinfo(3) to render a human-readable link-layer address in the 'address: ' line, just as we do in the 'link xx:xx:...:xx' line. There's no use casting a socket address to sockaddr_dl, only to cast it back to sockaddr, so don't do it. Cosmetic: add some whitespace for my ease of reading. To make sure that we always print the active link-layer address in the 'address: ' field, don't treat the first address as the active address, but search the link-layer addresses for the ones flagged IFLR_ACTIVE, and print those. Extract a subroutine, print_link_addresses(), for printing link-layer addresses. For non-AF_LINK ifaddrs, ifa_data is NULL. AFAICT, this has always been so. Say so in the documentation. Bring getifaddrs(3) behavior in line with the documentation: the ifa_data member of every AF_LINK struct ifaddrs points at the corresponding struct if_data. In ifconfig(8), do not try to suppress duplicate AF_LINK ifaddrs by checking for a NULL ifa_data. Don't copy out two AF_LINK struct ifaddrs for each active link-layer address. getifaddrs(3) used to copy out one ifaddrs for the kernel's RTM_IFINFO message, and one more for the kernel's RTM_NEWADDR message. I suppress the first duplicate with a highly conservative change that wastes a little bit of ifaddrs storage. The storage is not leaked.
|
1.9.12.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.9.6.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.12.16.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|