| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
kill the macro.
ok mikeb@, henning@
|
|
|
|
|
|
|
|
|
|
|
|
| |
raise it inside their ioctl handler (except for carp(4), what else?).
In general, global structures manipulated in the softnet codepath only
require a splsoftnet() protection when they are modified in process
(ioctl) context.
Also put some IPL_SOFNET asserts in functions accessing global structures.
Previous version diff ok mikeb@, with inputs from and ok bluhm@
|
|
|
|
| |
pointed out & OK bluhm@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
processing of router advertisements was already in the kernel.
With this rtsol{,d}(8) is no longer necessary.
The kernel starts sending solicitations with
# ifconfig $IF inet6 autoconf
or
inet6 autoconf
in /etc/hostname.$IF.
input stsp@
much help & OK mpi@
tweaks & OK bluhm@
|
|
|
|
| |
after discussions with beck deraadt kettenis.
|
|
|
|
|
|
| |
interfaces.
ok mikeb@
|
|
|
|
|
|
|
|
|
|
| |
instead of relying on hacks in nd6_rtrequest() to add a route to
loopback for each address configured on such interfaces.
While here document that abusing lo0 for local traffic is not safe
for interfaces in a non-default rdomain.
Tested by claudio@, jca@ and sthen@, ok sthen@
|
|
|
|
|
|
|
|
|
|
| |
connected routes to prefixes/hosts.
Since the introduction of rt_ifa_addloop(9) and rt_ifa_delloop(9),
rtinit() was just a wrapper, so use the underlying functions
directly and document them.
Inputs from and ok mikeb@, manpage tweaks from jmc@
|
|
|
|
|
|
|
|
|
| |
Move these functions to a more generic place and make them reuse
existing code, they'll be soon used in IPv4 too.
Tested by André Lucas, Vigdis and sthen@, thanks!
ok sthen@
|
|
|
|
|
|
|
|
|
|
| |
Instead of always copying ifa_flags to the routing entry flags when
creating a route by calling rtinit(), explicitly pass the RTF_CLONING
flag when required. This means ifa_flags are now *only* used to check
if an address has an associated route that was created by the kernel
auto-magically.
ok benno@
|
|
|
|
| |
ok mikeb@, bluhm@
|
|
|
|
|
|
| |
request, so kill it along with the associated global variable.
ok claudio@
|
|
|
|
|
|
|
|
|
|
|
| |
(unplugged). Even if it makes no sense to keep them around if the
interface is no more, we cannot safely remove them since pcb multicast
options might keep a pointer to them.
Fixes a user after free introduced by the multicast address linking
rewrite and reported by Alexey Suslikov, thanks!
ok claudio@
|
|
|
|
| |
ok stsp@
|
|
|
|
|
| |
consistent with struct ifaddr "ifa" and struct in_ifaddr "ia".
OK mpi@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Really change the link-local address in the unlikely event of an IFID
collision, instead of going into an infinite conf-nak loop with the peer.
To make the netinet6 code use the IPv6CP IFID in a new link-local address,
in6_ifattach_linklocal() must accept a provided IFID. Replace the unused
'altifp' parameter with a new 'ifid' parameter for this purpose.
Always use the latest suggested address in IPv6CP replies, even if
the task to update the interface's address hasn't run yet.
Also, clear the ifindex (KAME hack) in addresses sent during IPv6CP.
ok mpi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of linking multicast records to the first configured address of
the corresponding protocol, making this address and its position in the
global list special, add them to a new list directly linked to the
interface descriptor.
This new multicast address list is similar to the address list, all its
elements contain a protocol agnostic part. This design allows us to
be able to join a multicast group without necessarily having a configured
address. That means IPv6 multicast kludges are no longer needed.
Another benefit is to be able to add and remove an IP address from an
interface without worrying about multicast records. That means that the
global IPv4 list is no longer needed since the first configured address
of an interface is no longer special.
This new list might also be extended in the future to contain the
link-layer addresses used to configure hardware filters.
Tested by sthen@ and weerd@, ok mikeb@
|
|
|
|
| |
ok henning@, mikeb@
|
|
|
|
|
|
|
|
|
|
|
| |
is marked as NODAD.
Since we're not gonna do duplicate address detection for this address,
the TENTATIVE flag won't get cleared, rendering the address unusable.
The existing logic only checked whether DAD was enabled for the interface,
but DAD can be configured on a per-address basis.
ok sthen@ as part of a larger diff
|
|
|
|
|
|
|
|
| |
network to presentation format to inet_ntop().
The few remaining functions will be soon converted.
ok mikeb@, deraadt@ and moral support from henning@
|
|
|
|
|
|
|
|
| |
One worrying bit is in icmp6.h where some htols() and htonl() are
added, which may affect compatibility down the line. This component
can be reverted if issues show up. Ports tree greps indicate no issue.
ok claudio mpi etc
|
|
|
|
|
|
| |
Still some important missing pieces, and this is not yet enabled.
OK bluhm@
|
|
|
|
|
|
|
| |
created a bunch of useless dependencies. Remove this implicit
inclusion and do an explicit #include <netinet6/in6_var.h> when it
is needed.
OK mpi@ henning@
|
|
|
|
|
|
| |
driver when using an AF_INET6 socket without checking for permission.
From Loganaden Velvindron, ok bluhm@
|
|
|
|
|
|
|
| |
OSIOCGIFINFO_IN6 anymore. Remove them together with the structs
in6_drlist, in6_oprlist, in6_prlist, in6_ondireq and the kernel
implementation.
OK mikeb@ henning@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
members to 64bit types. Assign new syscall numbers for (almost
all) the syscalls that involve the affected types, including anything
with time_t, timeval, itimerval, timespec, rusage, dirent, stat,
or kevent arguments. Add a d_off member to struct dirent and replace
getdirentries() with getdents(), thus immensely simplifying and
accelerating telldir/seekdir. Build perl with -DBIG_TIME.
Bump the major on every single base library: the compat bits included
here are only good enough to make the transition; the T32 compat
option will be burned as soon as we've reached the new world are
are happy with the snapshots for all architectures.
DANGER: ABI incompatibility. Updating to this kernel requires extra
work or you won't be able to login: install a snapshot instead.
Much assistance in fixing userland issues from deraadt@ and tedu@
and build assistance from todd@ and otto@
|
|
|
|
| |
Reported by naddy@
|
|
|
|
|
|
|
| |
structure rather than doing various M_WAITOK allocations during
the *attach() functions, we always rely on them anyway.
ok mikeb@, uebayasi@
|
|
|
|
|
|
|
| |
this case, in6_unlink_ifa() must not complain about a missing prefix.
To avoid a false log message, check the prefixmask when the interface
address gets deleted.
OK mpi@
|
|
|
|
|
|
|
| |
complain about a missing prefix for ::1 in in6_unlink_ifa(). Also
log the actual IPv6 address in the error message instead of the
kernel pointer of the interface address.
OK sthen@ mpi@
|
|
|
|
|
|
| |
with sin6tosa() or satosin6() inline functions. This allows the
compiler to check the types more strictly.
OK mpi@
|
|
|
|
|
| |
to the driver where uninitialized data will be accessed.
Problem reported by hugh@, OK and input deraadt@, henning@
|
| |
|
|
|
|
| |
ok bluhm@, mikeb@
|
| |
|
|
|
|
|
|
| |
dhill.
ok krw@, mikeb@, tedu@ (implicit)
|
|
|
|
|
|
|
| |
This is a leftover from the on-link assumption behavior removal,
which has been deprecated by RFC4861 anyway.
ok mikeb@, bluhm@, florian@
|
|
|
|
|
|
| |
check for the reference counter.
ok mikeb@, miod@, pelikan@, kettenis@, krw@
|
|
|
|
|
| |
No binary change.
OK claudio@
|
|
|
|
|
| |
the cloning route.
bug report and test Florian Riehm; original fix sperreault@; OK claudio@
|
|
|
|
|
|
|
| |
address if the interface is in master state. Disable duplicate
address detection on CARP interfaces as the peer may have the same
addresses.
Test and OK sthen@ florian@ benno@ camield@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
of to the bridge itself. This is ok, since an interface can only be part
of one bridge, and the parent bridge is easy to find from the bridgeport.
This way we can get rid of a lot of list walks, improving performance
and shortening the code.
ok henning stsp sthen reyk
|
|
|
|
| |
OK henning@
|
|
|
|
|
|
| |
Also fix a memory management problem that was made obvious by this diff.
ok bluhm@, previous version ok @stsp
|
|
|
|
|
| |
ifatoia6(). No binary diff.
OK henning@
|
|
|
|
|
|
|
|
| |
than the autoconfprivacy bit, as per by RFC3484. Prevents privacy addresses
from being erroneously used as source address if the destination address is
in a different scope. Privacy addresses are still preferred over other source
addresses from the same scope.
Problem found by sthen, fix suggested by sperreault; ok sperreault
|
|
|
|
|
|
| |
cleaner to access the first member via ia_ifa instead of casting.
No binary change.
ok henning@ krw@
|
|
|
|
| |
ok mikeb
|
|
|
|
|
|
|
| |
with the same prefix, neighbor discovery did not work. When comparing
two carp interfaces in in6_ifpprefix(), assume they share the prefix
if they have the same parent.
sure deraadt@
|