OpenBSD CVS

CVS log for src/sys/netinet6/in6_pcb.c


[BACK] Up to [local] / src / sys / netinet6

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.144 / (download) - annotate - [select for diffs], Fri Apr 12 16:07:09 2024 UTC (7 weeks, 1 day ago) by bluhm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.143: +4 -5 lines
Diff to previous 1.143 (colored)

Split single TCP inpcb table into IPv4 and IPv6 parts.

With two separate TCP hash tables, each one becomes smaller.  When
we remove the exclusive net lock from TCP, contention on internet
PCB table mutex will be reduced.  UDP has been split earlier into
IPv4 and IPv6.  Replace branch conditions based on INP_IPV6 with
assertions.

OK mvs@

Revision 1.143 / (download) - annotate - [select for diffs], Sun Mar 31 15:53:12 2024 UTC (2 months ago) by bluhm
Branch: MAIN
Changes since 1.142: +3 -9 lines
Diff to previous 1.142 (colored)

Combine route_cache() and rtalloc_mpath() in new route_mpath().

Fill and check the cache and call rtalloc_mpath() together.  Then
the caller of route_mpath() does not have to care about the uint32_t
*src pointer and just pass struct in_addr.  All the conversions are
done inside the functions.

A previous version of this diff was backed out.  There was an
additional rtisvalid() in rtalloc_mpath() that prevented packet
output via interfaces that were not up.  Now the route in the cache
has to be valid, but after new lookup, rtalloc_mpath() may return
invalid routes.  This generates less errors in userland an preserves
existing behavior.

OK sashan@

Revision 1.142 / (download) - annotate - [select for diffs], Fri Mar 22 18:05:01 2024 UTC (2 months, 1 week ago) by bluhm
Branch: MAIN
Changes since 1.141: +2 -2 lines
Diff to previous 1.141 (colored)

Make local port which is bound during connect(2) unique per laddr.

in_pcbconnect() did not pass down the address it got from in_pcbselsrc()
to in_pcbpickport().  As a consequence local port numbers selected
during connect(2) were globally unique although they belong to
different addresses.  This strict uniqueness is not necessary and
wastes usable ports for outgoing connections.

To solve this, pass ina from in_pcbconnect() to in_pcbbind_locked().
This does not interfere how wildcard sockets are matched with
specific sockets during bind(2).  It only allows non-wildcard sockets
to share a local port during connect(2).

OK mvs@ deraadt@

Revision 1.141 / (download) - annotate - [select for diffs], Thu Feb 29 12:01:59 2024 UTC (3 months ago) by naddy
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5
Changes since 1.140: +8 -2 lines
Diff to previous 1.140 (colored)

revert "Combine route_cache() and rtalloc_mpath() in new route_mpath()"

It breaks NFS.

ok claudio@

Revision 1.140 / (download) - annotate - [select for diffs], Tue Feb 27 12:37:49 2024 UTC (3 months ago) by bluhm
Branch: MAIN
Changes since 1.139: +3 -9 lines
Diff to previous 1.139 (colored)

Combine route_cache() and rtalloc_mpath() in new route_mpath().

Fill and check the cache and call rtalloc_mpath() together.  Then
the caller of route_mpath() does not have to care about the uint32_t
*src pointer and just pass struct in_addr.  All the conversions are
done inside the functions.  ro->ro_rt is either valid or NULL.  Note
that some places have a stricter rtisvalid() now compared to the
previous NULL check.

OK claudio@

Revision 1.139 / (download) - annotate - [select for diffs], Thu Feb 22 14:25:58 2024 UTC (3 months, 1 week ago) by bluhm
Branch: MAIN
Changes since 1.138: +3 -2 lines
Diff to previous 1.138 (colored)

Make the route cache aware of multipath routing.

Pass source address to route_cache() and store it in struct route.
Cached multipath routes are only valid if source address matches.
If sysctl multipath changes, increase route generation number.

OK claudio@

Revision 1.138 / (download) - annotate - [select for diffs], Tue Feb 13 12:22:09 2024 UTC (3 months, 2 weeks ago) by bluhm
Branch: MAIN
Changes since 1.137: +8 -12 lines
Diff to previous 1.137 (colored)

Merge struct route and struct route_in6.

Use a common struct route for both inet and inet6.  Unfortunately
struct sockaddr is shorter than sockaddr_in6, so netinet/in.h has
to be exposed from net/route.h.  Struct route has to be bsd visible
for userland as netstat kvm code inspects inp_route.  Internet PCB
and TCP SYN cache can use a plain struct route now.  All specific
sockaddr types for inet and inet6 are embeded there.

OK claudio@

Revision 1.137 / (download) - annotate - [select for diffs], Sun Feb 11 01:27:45 2024 UTC (3 months, 3 weeks ago) by bluhm
Branch: MAIN
Changes since 1.136: +2 -1 lines
Diff to previous 1.136 (colored)

Remove include netinet6/ip6_var.h from netinet/in_pcb.h.

OK mvs@

Revision 1.136 / (download) - annotate - [select for diffs], Fri Feb 9 14:02:12 2024 UTC (3 months, 3 weeks ago) by bluhm
Branch: MAIN
Changes since 1.135: +2 -3 lines
Diff to previous 1.135 (colored)

Route cache function returns hit or miss.

The route_cache() function can easily return whether it was a cache
hit or miss.  Then the logic to perform a route lookup gets a bit
simpler.  Some more complicated if (ro->ro_rt == NULL) checks still
exist elsewhere.
Also use route cache in in_pcbselsrc() instead of filling struct
route manually.

OK claudio@

Revision 1.135 / (download) - annotate - [select for diffs], Wed Feb 7 23:40:40 2024 UTC (3 months, 3 weeks ago) by bluhm
Branch: MAIN
Changes since 1.134: +4 -18 lines
Diff to previous 1.134 (colored)

Use the route generation number also for IPv6.

Implement route6_cache() to check whether the cached route is still
valid and otherwise fill caching parameter of struct route_in6.
Also count cache hits and misses in netstat.  in_pcbrtentry() uses
route cache now.

OK claudio@

Revision 1.134 / (download) - annotate - [select for diffs], Wed Jan 31 12:27:57 2024 UTC (4 months ago) by bluhm
Branch: MAIN
Changes since 1.133: +30 -1 lines
Diff to previous 1.133 (colored)

Split in_pcbrtentry() and in6_pcbrtentry() based on INP_IPV6.

Splitting the IPv6 code into a separate function results in less
#ifdef INET6.  Also struct route_in6 *ro in in6_pcbrtentry() is of
the correct type and in_pcbrtentry() does not rely on the fact that
inp_route and inp_route6 are pointers to the same union.

OK kn@ claudio@

Revision 1.133 / (download) - annotate - [select for diffs], Sun Jan 28 20:34:25 2024 UTC (4 months ago) by bluhm
Branch: MAIN
Changes since 1.132: +2 -2 lines
Diff to previous 1.132 (colored)

Use more specific sockaddr type for inpcb notify.

in_pcbnotifyall() is an IPv4 only function.  All callers check that
sockaddr dst is in fact a sockaddr_in.  Pass the more spcific type
and remove the runtime check at beginning of in_pcbnotifyall().
Use const sockaddr_in in in_pcbnotifyall() and const sockaddr_in6
in6_pcbnotify() as dst parameter.

OK millert@

Revision 1.132 / (download) - annotate - [select for diffs], Tue Jan 9 19:57:01 2024 UTC (4 months, 3 weeks ago) by bluhm
Branch: MAIN
Changes since 1.131: +5 -5 lines
Diff to previous 1.131 (colored)

Convert some struct inpcb parameter to const pointer.

OK millert@

Revision 1.131 / (download) - annotate - [select for diffs], Thu Dec 7 16:08:30 2023 UTC (5 months, 3 weeks ago) by bluhm
Branch: MAIN
Changes since 1.130: +58 -24 lines
Diff to previous 1.130 (colored)

Inpcb table mutex protects addr and port during bind(2) and connect(2).

in_pcbbind(), in_pcbconnect(), and in6_pcbconnect() have to set
addresses and ports within the same critical section as the inpcb
hash table calculation.  Also lookup and address selection have to
be protected to avoid bindings and connections that are not unique.

For that in_pcbpickport() and in_pcbbind_locked() expect that the
table mutex is already taken.  The functions in_pcblookup_lock(),
in_pcblookup_local_lock(), and in_pcbaddrisavail_lock() grab the
mutex iff the lock parameter is IN_PCBLOCK_GRAB.  Otherwise the
parameter is IN_PCBLOCK_HOLD has the lock has to be taken already.
Note that in_pcblookup_lock() and in_pcblookup_local() return an
inp with increased reference iff they take and release the lock.
Otherwise the caller protects the life time of the inp.

This gives enough flexibility that in_pcbbind() and in_pcbconnect()
can hold the table mutex when they need it.  The public inpcb API
does not change.

OK sashan@ mvs@

Revision 1.130 / (download) - annotate - [select for diffs], Sun Dec 3 20:36:24 2023 UTC (5 months, 4 weeks ago) by bluhm
Branch: MAIN
Changes since 1.129: +7 -7 lines
Diff to previous 1.129 (colored)

Rename all in6p local variables to inp.

There exists no struct in6pcb in OpenBSD, this was an old kame idea.
Calling the local variable in6p does not make sense, it is actually
a struct inpcb.  Also in6p is not used consistently in inet6 code.
Having the same convention for IPv4 and IPv6 is less confusing.

OK sashan@ mvs@

Revision 1.129 / (download) - annotate - [select for diffs], Sun Dec 3 20:24:17 2023 UTC (5 months, 4 weeks ago) by bluhm
Branch: MAIN
Changes since 1.128: +3 -3 lines
Diff to previous 1.128 (colored)

Use INP_IPV6 flag instead of sotopf().

During initialization in_pcballoc() sets INP_IPV6 once to avoid
reaching through inp_socket->so_proto->pr_domain->dom_family.  Use
this flag consistently.

OK sashan@ mvs@

Revision 1.128 / (download) - annotate - [select for diffs], Fri Dec 1 15:30:47 2023 UTC (6 months ago) by bluhm
Branch: MAIN
Changes since 1.127: +6 -2 lines
Diff to previous 1.127 (colored)

Set inp address, port and rtable together with inpcb hash.

The inpcb hash table is protected by table->inpt_mtx.  The hash is
based on addresses, ports, and routing table.  These fields were
not sychronized with the hash.  Put writes and hash update into the
same critical section.
Move the updates from ip_ctloutput(), ip6_ctloutput(), syn_cache_get(),
tcp_connect(), udp_disconnect() to dedicated inpcb set functions.
There they use the same table mutex as in_pcbrehash().
in_pcbbind(), in_pcbconnect(), and in6_pcbconnect() need more work
and are not included yet.

OK sashan@ mvs@

Revision 1.127 / (download) - annotate - [select for diffs], Fri Dec 1 14:08:04 2023 UTC (6 months ago) by bluhm
Branch: MAIN
Changes since 1.126: +2 -2 lines
Diff to previous 1.126 (colored)

Make internet PCB connect more consistent.

The public interface is in_pcbconnect().  It dispatches to
in6_pcbconnect() if necessary.  Call the former from tcp_connect()
and udp_connect().
In in6_pcbconnect() initialization in6a = NULL is not necessary.
in6_pcbselsrc() sets the pointer, but does not read the value.
Pass a constant in6_addr pointer to in6_pcbselsrc() and in6_selectsrc().
It returns a reference to the address of some internal data structure.
We want to be sure that in6_addr is not modified this way.  IPv4
in_pcbselsrc() solves this by passing a copy of the address.

OK kn@ sashan@ mvs@

Revision 1.126 / (download) - annotate - [select for diffs], Wed Nov 29 18:30:48 2023 UTC (6 months ago) by bluhm
Branch: MAIN
Changes since 1.125: +1 -3 lines
Diff to previous 1.125 (colored)

Document inp_socket as immutable and remove NULL checks.

Struct inpcb field inp_socket is initialized in in_pcballoc().  It
is not NULL and never changed.

OK mvs@

Revision 1.125 / (download) - annotate - [select for diffs], Tue Nov 28 13:23:20 2023 UTC (6 months ago) by bluhm
Branch: MAIN
Changes since 1.124: +6 -4 lines
Diff to previous 1.124 (colored)

Remove struct inpcb from in6_embedscope() parameters.

rip6_output() did modify inp_outputopts6 temporarily to provide
different ip6_pktopts to in6_embedscope().  Better pass inp_outputopts6
and inp_moptions6 as separate arguments to in6_embedscope().
Simplify the code that deals with these options in in6_embedscope().
Doucument inp_moptions and inp_moptions6 as protected by net lock.

OK kn@

Revision 1.124 / (download) - annotate - [select for diffs], Sat Jun 24 20:54:46 2023 UTC (11 months, 1 week ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.123: +21 -10 lines
Diff to previous 1.123 (colored)

Calculate inet PCB SIP hash without table mutex.

Goal is to run UDP input in parallel.  Btrace kstack analysis shows
that SIP hash for PCB lookup is quite expensive.  When running in
parallel, there is also lock contention on the PCB table mutex.

It results in better performance to calculate the hash value before
taking the mutex.  The hash secret has to be constant as hash
calculation must not depend on values protected by the table mutex.
Do not reseed anymore when hash table gets resized.

Analysis also shows that asserting a rw_lock while holding a mutex
is a bit expensive.  Just remove the netlock assert.

OK dlg@ mvs@

Revision 1.123 / (download) - annotate - [select for diffs], Sat Sep 3 22:43:38 2022 UTC (20 months, 4 weeks ago) by mvs
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.122: +12 -1 lines
Diff to previous 1.122 (colored)

Move PRU_PEERADDR request to (*pru_peeraddr)().

Introduce in{,6}_peeraddr() and use them for inet and inet6 sockets,
except tcp(4) case.

Also remove *_usrreq() handlers.

ok bluhm@

Revision 1.122 / (download) - annotate - [select for diffs], Sat Sep 3 18:48:50 2022 UTC (20 months, 4 weeks ago) by mvs
Branch: MAIN
Changes since 1.121: +12 -1 lines
Diff to previous 1.121 (colored)

Move PRU_SOCKADDR request to (*pru_sockaddr)()

Introduce in{,6}_sockaddr() functions, and use them for all except tcp(4)
inet sockets. For tcp(4) sockets use tcp_sockaddr() to keep debug ability.

The key management and route domain sockets returns EINVAL error for
PRU_SOCKADDR request, so keep this behaviour for a while instead of make
pru_sockaddr handler optional and return EOPNOTSUPP.

ok bluhm@

Revision 1.121 / (download) - annotate - [select for diffs], Tue Aug 30 11:53:04 2022 UTC (21 months ago) by bluhm
Branch: MAIN
Changes since 1.120: +44 -56 lines
Diff to previous 1.120 (colored)

Refactor internet PCB lookup function.  Rename in_pcbhashlookup()
so the public API is in_pcblookup() and in_pcblookup_listen().  For
internal use introduce in_pcbhash_insert() and in_pcbhash_lookup()
to avoid code duplication.  Routing domain is unsigned, change the
type to u_int.
OK mvs@

Revision 1.120 / (download) - annotate - [select for diffs], Mon Aug 22 10:37:27 2022 UTC (21 months, 1 week ago) by bluhm
Branch: MAIN
Changes since 1.119: +3 -3 lines
Diff to previous 1.119 (colored)

Use rwlock per inpcb table to protect notify list.  The notify
function may sleep, so holding a mutex is not possible.  The same
list entry and rwlock is used for UDP multicast and raw IP delivery.
By adding a write lock, exclusive netlock is no longer necessary
for PCB notify and UDP and raw IP input.
OK mvs@

Revision 1.119 / (download) - annotate - [select for diffs], Mon Aug 8 12:06:31 2022 UTC (21 months, 3 weeks ago) by bluhm
Branch: MAIN
Changes since 1.118: +21 -7 lines
Diff to previous 1.118 (colored)

To make protocol input functions MP safe, internet PCB need protection.
Use their reference counter in more places.
The in_pcb lookup functions hold the PCBs in hash tables protected
by table->inpt_mtx mutex.  Whenever a result is returned, increment
the ref count before releasing the mutex.  Then the inp can be used
as long as neccessary.  Unref it at the end of all functions that
call in_pcb lookup.
As a shortcut, pf may also hold a reference to the PCB.  When
pf_inp_lookup() returns it, it also incements the ref count and the
caller can handle it like the inp from table lookup.
OK sashan@

Revision 1.118 / (download) - annotate - [select for diffs], Sat Aug 6 15:57:59 2022 UTC (21 months, 3 weeks ago) by bluhm
Branch: MAIN
Changes since 1.117: +2 -2 lines
Diff to previous 1.117 (colored)

Clean up the netlock macros.  Merge NET_RLOCK_IN_SOFTNET and
NET_RLOCK_IN_IOCTL, which have the same implementation.  The R and
W are hard to see, call the new macro NET_LOCK_SHARED.  Rename the
opposite assertion from NET_ASSERT_WLOCKED to NET_ASSERT_LOCKED_EXCLUSIVE.
Update some outdated comments about net locking.
OK mpi@ mvs@

Revision 1.117 / (download) - annotate - [select for diffs], Thu Apr 14 14:10:22 2022 UTC (2 years, 1 month ago) by claudio
Branch: MAIN
Changes since 1.116: +4 -6 lines
Diff to previous 1.116 (colored)

Relax address availability check for multicast binds.

While it makes sense to limit bind(2) of unicast addresses that overlap
each other to be all from the same UID (like 0.0.0.0:53 and 127.0.0.1:53)
it makes little sense for multicast. Multicast is delivered to all sockets
that match so there is no risk of someone stealing traffic from someone
else.  This should hopefully help with mDNS as reported by robert@
OK deraadt@ bluhm@

Revision 1.116 / (download) - annotate - [select for diffs], Mon Mar 21 09:12:34 2022 UTC (2 years, 2 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.115: +22 -6 lines
Diff to previous 1.115 (colored)

Header netinet/in_pcb.h includes sys/mutex.h now.  Recommit mutex
for PCB tables.  It does not break userland build anymore.

pf_socket_lookup() calls in_pcbhashlookup() in the PCB layer.  To
run pf in parallel, make parts of the stack MP safe.  Protect the
list and hashes in the PCB tables with a mutex.
Note that the protocol notify functions may call pf via tcp_output().
As the pf lock is a sleeping rw_lock, we must not hold a mutex.  To
solve this for now, collect these PCBs in inp_notify list and protect
it with exclusive netlock.
OK sashan@

Revision 1.115 / (download) - annotate - [select for diffs], Mon Mar 14 22:38:43 2022 UTC (2 years, 2 months ago) by tb
Branch: MAIN
Changes since 1.114: +5 -21 lines
Diff to previous 1.114 (colored)

Unbreak the tree, revert commitid aZ8fm4iaUnTCc0ul

This reverts the commit protecting the list and hashes in the PCB tables
with a mutex since the build of sysctl(8) breaks, as found by kettenis.

ok sthen

Revision 1.114 / (download) - annotate - [select for diffs], Mon Mar 14 17:23:00 2022 UTC (2 years, 2 months ago) by bluhm
Branch: MAIN
Changes since 1.113: +22 -6 lines
Diff to previous 1.113 (colored)

pf_socket_lookup() calls in_pcbhashlookup() in the PCB layer.  To
run pf in parallel, make parts of the stack MP safe.  Protect the
list and hashes in the PCB tables with a mutex.
Note that the protocol notify functions may call pf via tcp_output().
As the pf lock is a sleeping rw_lock, we must not hold a mutex.  To
solve this for now, collect these PCBs in inp_notify list and protect
it with exclusive netlock.
OK sashan@

Revision 1.113 / (download) - annotate - [select for diffs], Wed Mar 2 12:53:15 2022 UTC (2 years, 3 months ago) by bluhm
Branch: MAIN
Changes since 1.112: +6 -8 lines
Diff to previous 1.112 (colored)

The return value of in6_pcbnotify() is never used.  Make it a void
function.
OK gnezdo@ mvs@ florian@ sashan@

Revision 1.112 / (download) - annotate - [select for diffs], Thu Feb 11 10:41:19 2021 UTC (3 years, 3 months ago) by patrick
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.111: +3 -3 lines
Diff to previous 1.111 (colored)

Swap faddr/laddr and fport/lport arguments in call to stoeplitz_ipXport().
Technically the whole point of the stoeplitz API is that it's symmetric,
meaning that the order of addresses and ports doesn't matter and will produce
the same hash value.

Coverity CID 1501717
ok dlg@

Revision 1.111 / (download) - annotate - [select for diffs], Mon Jan 25 03:40:47 2021 UTC (3 years, 4 months ago) by dlg
Branch: MAIN
Changes since 1.110: +10 -1 lines
Diff to previous 1.110 (colored)

if stoeplitz is enabled, use it to provide a flowid for tcp packets.

drivers that implement rss and multiple rings depend on the symmetric
toeplitz code, and use it to generate a key that decides with rx
ring a packet lands on. if the toeplitz code is enabled, this diff
has the pcb and tcp layer use the toeplitz code to generate a flowid
for packets they send, which in turn is used to pick a tx ring.
because the nic and the stack use the same key, the tx and rx sides
end up with the same hash/flowid. at the very least this means that
the same rx and tx queue pair on a particular nic are used for both
sides of the connection. as the stack becomes more parallel, it
will also help keep both sides of the tcp connection processing in
the one place.

Revision 1.110 / (download) - annotate - [select for diffs], Fri Nov 29 16:41:01 2019 UTC (4 years, 6 months ago) by nayden
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.109: +3 -3 lines
Diff to previous 1.109 (colored)

add __func__ to panic() and printf() calls in sys/netinet6/*
ok benno@ mortimer@

Revision 1.109 / (download) - annotate - [select for diffs], Thu Oct 17 00:51:28 2019 UTC (4 years, 7 months ago) by dlg
Branch: MAIN
Changes since 1.108: +3 -7 lines
Diff to previous 1.108 (colored)

in6_setsockaddr and in6_setpeeraddr can't fail, so let them return void.

this also brings them in line with the AF_INET equivalents.

ok visa@ bluhm@

Revision 1.108 / (download) - annotate - [select for diffs], Thu Oct 4 17:33:41 2018 UTC (5 years, 7 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.107: +1 -16 lines
Diff to previous 1.107 (colored)

Revert the inpcb table mutex commit.  It triggers a witness panic
in raw IP delivery and UDP broadcast loops.  There inpcbtable_mtx
is held and sorwakeup() is called within the loop.  As sowakeup()
grabs the kernel lock, we have a lock ordering problem.
found by Hrvoje Popovski; OK deraadt@ mpi@

Revision 1.107 / (download) - annotate - [select for diffs], Thu Sep 20 18:59:10 2018 UTC (5 years, 8 months ago) by bluhm
Branch: MAIN
Changes since 1.106: +17 -2 lines
Diff to previous 1.106 (colored)

As a step towards per inpcb or socket locks, remove the net lock
for netstat -a.  Introduce a global mutex that protects the tables
and hashes for the internet PCBs.  To detect detached PCB, set its
inp_socket field to NULL.  This has to be protected by a per PCB
mutex.  The protocol pointer has to be protected by the mutex as
netstat uses it.
Always take the kernel lock in in_pcbnotifyall() and in6_pcbnotify()
before the table mutex to avoid lock ordering problems in the notify
functions.
OK visa@

Revision 1.106 / (download) - annotate - [select for diffs], Tue Sep 11 21:04:03 2018 UTC (5 years, 8 months ago) by bluhm
Branch: MAIN
Changes since 1.105: +1 -25 lines
Diff to previous 1.105 (colored)

Convert inetctlerrmap to u_char like inet6ctlerrmap.  That is also
what FreeBSD does.  Remove old #if 0 version of inet6ctlerrmap.
OK mpi@

Revision 1.105 / (download) - annotate - [select for diffs], Tue Sep 11 14:34:49 2018 UTC (5 years, 8 months ago) by bluhm
Branch: MAIN
Changes since 1.104: +182 -47 lines
Diff to previous 1.104 (colored)

Make the distribution of in_ and in6_ functions in in_pcb.c and
in6_pcb.c consistent, to ease comparing the code.  Move all inet6
functions to in6_.  Bring functions in both source files in same
order.  Cleanup the include section.  Now in_pcb.c is a superset
of in6_pcb.c.  The latter contains all the special implementations.
Just moving arround, no code change intended.
OK mpi@

Revision 1.104 / (download) - annotate - [select for diffs], Thu Jun 14 17:00:58 2018 UTC (5 years, 11 months ago) by bluhm
Branch: MAIN
Changes since 1.103: +3 -1 lines
Diff to previous 1.103 (colored)

Assert that the INP_IPV6 in in6_pcbconnect() is correct.  Just call
in_pcbconnect() to avoid the address family maze in syn_cache_get().
input claudio@; OK mpi@

Revision 1.103 / (download) - annotate - [select for diffs], Thu Jun 7 08:46:24 2018 UTC (5 years, 11 months ago) by bluhm
Branch: MAIN
Changes since 1.102: +2 -2 lines
Diff to previous 1.102 (colored)

The global zero addresses must not change, mark them constant.
OK tb@ visa@

Revision 1.102 / (download) - annotate - [select for diffs], Sun Jun 3 21:32:32 2018 UTC (6 years ago) by bluhm
Branch: MAIN
Changes since 1.101: +4 -3 lines
Diff to previous 1.101 (colored)

Use variable names for rtable and rdomain consistently in the in_pcb
functions.
discussed with and OK mpi@ visa@

Revision 1.101 / (download) - annotate - [select for diffs], Sun Jun 3 19:58:02 2018 UTC (6 years ago) by bluhm
Branch: MAIN
Changes since 1.100: +3 -3 lines
Diff to previous 1.100 (colored)

Consistently call the inpcb table parameter "table" in in6_pcbnotify().
OK visa@ mpi@

Revision 1.100 / (download) - annotate - [select for diffs], Fri Aug 11 19:53:02 2017 UTC (6 years, 9 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.99: +5 -9 lines
Diff to previous 1.99 (colored)

Validate sockaddr from userland in central functions.  This results
in common checks for unix, inet, inet6 instead of partial checks
here and there.  Some checks are already done at a higher layer,
but better be paranoid with user input.
OK claudio@ millert@

Revision 1.99 / (download) - annotate - [select for diffs], Fri Aug 4 18:16:42 2017 UTC (6 years, 9 months ago) by bluhm
Branch: MAIN
Changes since 1.98: +13 -5 lines
Diff to previous 1.98 (colored)

The in_pcbhashlookup() in in_pcbconnect() enforces that the 4 tupel
of src/dst ip/port is unique for TCP.  But if the socket is not
bound, the automatic bind by connect happens after the check.  If
the socket has the SO_REUSEADDR flag, in_pcbbind() may select an
existing local port.  Then we had two colliding TCP PCBs.  This
resulted in a packet storm of ACK packets on loopback.  The softnet
task was constantly holding the netlock and has a high priority,
so the system hung.
Do the in_pcbhashlookup() again after in_pcbbind().  This creates
sporadic "connect: Address already in use" errors instead of a hang.
bug report and testing Olivier Antoine; OK mpi@

Revision 1.98 / (download) - annotate - [select for diffs], Sat May 13 17:42:55 2017 UTC (7 years ago) by bluhm
Branch: MAIN
Changes since 1.97: +2 -7 lines
Diff to previous 1.97 (colored)

Do not check for locally bound mapped addresses in in6_pcbconnect(),
this is done during bind(2) in in6_pcbaddrisavail().
OK mpi@

Revision 1.97 / (download) - annotate - [select for diffs], Tue Mar 7 16:59:40 2017 UTC (7 years, 2 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.96: +3 -1 lines
Diff to previous 1.96 (colored)

When the inpcb queue and hash lists are traversed or modified we
need netlock.  Remove the obsolete splnet.
OK mpi@

Revision 1.96 / (download) - annotate - [select for diffs], Thu Aug 4 20:46:24 2016 UTC (7 years, 9 months ago) by vgross
Branch: MAIN
Changes since 1.95: +2 -4 lines
Diff to previous 1.95 (colored)

Commit in6_selectsrc() split again, with missing assignment fixed.

Revision 1.95 / (download) - annotate - [select for diffs], Fri Jul 22 11:14:41 2016 UTC (7 years, 10 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.94: +3 -1 lines
Diff to previous 1.94 (colored)

Revert in_selectsrc() refactoring, it breaks IPv6.

Reported by Heiko on bugs@.

ok stsp@, claudio@

Revision 1.94 / (download) - annotate - [select for diffs], Wed Jul 20 18:51:50 2016 UTC (7 years, 10 months ago) by vgross
Branch: MAIN
Changes since 1.93: +2 -4 lines
Diff to previous 1.93 (colored)

Split in6_selectsrc() into a low-level part and a pcb-level part, and
convert in_selectsrc() prototype to match.

Ok bluhm@ mpi@.

Revision 1.93 / (download) - annotate - [select for diffs], Tue Jul 5 10:17:14 2016 UTC (7 years, 10 months ago) by mpi
Branch: MAIN
Changes since 1.92: +3 -4 lines
Diff to previous 1.92 (colored)

Expand IN6_IFF_NOTREADY, ok bluhm@

Revision 1.92 / (download) - annotate - [select for diffs], Mon Apr 11 21:24:29 2016 UTC (8 years, 1 month ago) by vgross
Branch: MAIN
Changes since 1.91: +3 -5 lines
Diff to previous 1.91 (colored)

Rename in_pcblookup() to in_pcblookup_local() and change its prototype
to get rid of the now useless foreign address and ports parameters.

ok mpi@

Revision 1.91 / (download) - annotate - [select for diffs], Tue Apr 5 21:21:41 2016 UTC (8 years, 1 month ago) by vgross
Branch: MAIN
Changes since 1.90: +1 -13 lines
Diff to previous 1.90 (colored)

Move reserved port checks from in(6)_pcbaddrisavail() to in_pcbbind().
Kill old comments while at it.

Ok mpi@ bluhm@

Revision 1.90 / (download) - annotate - [select for diffs], Wed Mar 30 13:02:22 2016 UTC (8 years, 2 months ago) by vgross
Branch: MAIN
Changes since 1.89: +3 -3 lines
Diff to previous 1.89 (colored)

Use in6_pcbhashlookup() in in6_pcbconnect(). We don't need in_pcblookup()
broad search and in_pcbconnect() already uses in_pcbhashlookup().

ok bluhm@ mpi@ jca@

Revision 1.84.2.1 / (download) - annotate - [select for diffs], Thu Mar 24 05:02:53 2016 UTC (8 years, 2 months ago) by jsg
Branch: OPENBSD_5_9
Changes since 1.84: +11 -2 lines
Diff to previous 1.84 (colored) next main 1.85 (colored)

OpenBSD 5.9 errata 2, Mar 16, 2016:

Insufficient checks in IPv6 socket binding and UDP IPv6 option
processing allow a local user to send UDP packets with a source
(IPv6 address + port) already reserved by another user.

Revision 1.89 / (download) - annotate - [select for diffs], Wed Mar 23 15:50:36 2016 UTC (8 years, 2 months ago) by vgross
Branch: MAIN
Changes since 1.88: +2 -59 lines
Diff to previous 1.88 (colored)

Merge in_pcbbind() and in6_pcbbind(), and change every call to
in6_pcbbind() into in_pcbbind().

Ok jca@ mpi@

Revision 1.88 / (download) - annotate - [select for diffs], Mon Mar 21 21:21:35 2016 UTC (8 years, 2 months ago) by vgross
Branch: MAIN
Changes since 1.87: +102 -91 lines
Diff to previous 1.87 (colored)

Extract in6_pcbaddrisavail() from in6_pcbbind(), and use it when
checking for source availability in udp6_output(); This time with
all the files.

Ok jca@ bluhm@

Revision 1.87 / (download) - annotate - [select for diffs], Sun Mar 20 01:26:30 2016 UTC (8 years, 2 months ago) by jca
Branch: MAIN
Changes since 1.86: +90 -101 lines
Diff to previous 1.86 (colored)

Revert, missing decl for in6_pcbaddrisavail() breaks kernel build.

Spotted by deraadt@

Revision 1.86 / (download) - annotate - [select for diffs], Sat Mar 19 23:59:49 2016 UTC (8 years, 2 months ago) by vgross
Branch: MAIN
Changes since 1.85: +102 -91 lines
Diff to previous 1.85 (colored)

Extract in6_pcbaddrisavail() from in6_pcbbind(), and use it when
checking for source availability in udp6_output().

Ok jca@ bluhm@

Revision 1.69.4.1 / (download) - annotate - [select for diffs], Wed Mar 16 10:03:05 2016 UTC (8 years, 2 months ago) by vgross
Branch: OPENBSD_5_8
Changes since 1.69: +11 -2 lines
Diff to previous 1.69 (colored) next main 1.70 (colored)

Insufficient checks in IPv6 socket binding and UDP IPv6 option
processing allow a local user to send UDP packets with a source
(IPv6 address + port) already reserved by another user.

See Errata 012

Revision 1.67.2.1 / (download) - annotate - [select for diffs], Wed Mar 16 09:26:13 2016 UTC (8 years, 2 months ago) by vgross
Branch: OPENBSD_5_7
Changes since 1.67: +11 -2 lines
Diff to previous 1.67 (colored) next main 1.68 (colored)

Insufficient checks in IPv6 socket binding and UDP IPv6 option
processing allow a local user to send UDP packets with a source
(IPv6 address + port) already reserved by another user.

See Errata 024

Revision 1.85 / (download) - annotate - [select for diffs], Sat Mar 12 09:25:37 2016 UTC (8 years, 2 months ago) by vgross
Branch: MAIN
Changes since 1.84: +11 -2 lines
Diff to previous 1.84 (colored)

Add checks on overlapping IPv6 sockets ownership

ok mpi@ bluhm@

Revision 1.84 / (download) - annotate - [select for diffs], Fri Dec 18 22:25:16 2015 UTC (8 years, 5 months ago) by vgross
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE
Branch point for: OPENBSD_5_9
Changes since 1.83: +2 -2 lines
Diff to previous 1.83 (colored)

Fix SO_REUSE* flags effects when binding multicast addresses. No
regression observed on avahi.

ok benno@

Revision 1.83 / (download) - annotate - [select for diffs], Wed Dec 2 22:13:44 2015 UTC (8 years, 6 months ago) by vgross
Branch: MAIN
Changes since 1.82: +4 -76 lines
Diff to previous 1.82 (colored)

Move port picking away from in_pcbbind()

ok sthen@

Revision 1.82 / (download) - annotate - [select for diffs], Sat Oct 24 16:08:48 2015 UTC (8 years, 7 months ago) by mpi
Branch: MAIN
Changes since 1.81: +2 -6 lines
Diff to previous 1.81 (colored)

Ignore Router Advertisment's current hop limit.

Appart from the usual inet6 axe murdering exercise to keep you fit, this
allows us to get rid of a lot of layer violation due to the use of per-
ifp variables to store the current hop limit.

Imputs from bluhm@, ok phessler@, florian@, bluhm@

Revision 1.81 / (download) - annotate - [select for diffs], Tue Oct 20 18:04:03 2015 UTC (8 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.80: +1 -5 lines
Diff to previous 1.80 (colored)

At guenther's suggestion replace dnssocket() with a SOCK_DNS flag on
socket().  Without pledge, all other socket behaviours become permitted,
except this one case: connect/send* only works to *:53.  In pledge mode,
a very few are further restricted.  Some backwards compatibility for
the dnssocket/dnsconnect calls will remain in the tree temporarily so
that people can build through the transition.
ok tedu guenther semarie

Revision 1.80 / (download) - annotate - [select for diffs], Mon Oct 19 12:11:28 2015 UTC (8 years, 7 months ago) by mpi
Branch: MAIN
Changes since 1.79: +2 -2 lines
Diff to previous 1.79 (colored)

Stop checking for RTF_UP directly, call rtisvalid(9) instead.

While here add two missing ``rtableid'' checks in in6_selectsrc().

ok bluhm@

Revision 1.79 / (download) - annotate - [select for diffs], Mon Oct 19 08:49:14 2015 UTC (8 years, 7 months ago) by vgross
Branch: MAIN
Changes since 1.78: +27 -47 lines
Diff to previous 1.78 (colored)

deduplicate in[6]_pcbbind() port scan loop.

ok mpi@

Revision 1.78 / (download) - annotate - [select for diffs], Sun Oct 18 00:04:43 2015 UTC (8 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.77: +2 -2 lines
Diff to previous 1.77 (colored)

Add two new system calls: dnssocket() and dnsconnect().  This creates a
SS_DNS tagged socket which has limited functionality (for example, you
cannot accept on them...)  The libc resolver will switch to using these,
therefore pledge can identify a DNS transaction better.
ok tedu guenther kettenis beck and others

Revision 1.77 / (download) - annotate - [select for diffs], Thu Oct 15 10:27:18 2015 UTC (8 years, 7 months ago) by vgross
Branch: MAIN
Changes since 1.76: +4 -3 lines
Diff to previous 1.76 (colored)

in6_pcbconnect() returns EADDRNOTAVAIL when
all the ports in the range portfirst .. portlast
are in use.

ok millert@, mpi@

Revision 1.76 / (download) - annotate - [select for diffs], Fri Oct 9 01:10:27 2015 UTC (8 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.75: +4 -4 lines
Diff to previous 1.75 (colored)

Rename tame() to pledge().  This fairly interface has evolved to be more
strict than anticipated.  It allows a programmer to pledge/promise/covenant
that their program will operate within an easily defined subset of the
Unix environment, or it pays the price.

Revision 1.75 / (download) - annotate - [select for diffs], Tue Sep 22 09:34:39 2015 UTC (8 years, 8 months ago) by vgross
Branch: MAIN
Changes since 1.74: +14 -14 lines
Diff to previous 1.74 (colored)

Remove inpt_lastport from struct inpcbtable, use local variables
in in_pcbbind() and in6_pcbsetport()

ok claudio@, with input from David Hill

Revision 1.74 / (download) - annotate - [select for diffs], Fri Sep 11 15:29:47 2015 UTC (8 years, 8 months ago) by deraadt
Branch: MAIN
Changes since 1.73: +2 -2 lines
Diff to previous 1.73 (colored)

Convert _TM_ flags to TAME_ flags, collapsing the entire mapping
layer because the strings select the right options.  Mechanical
conversion.
ok guenther

Revision 1.73 / (download) - annotate - [select for diffs], Fri Sep 11 08:22:31 2015 UTC (8 years, 8 months ago) by guenther
Branch: MAIN
Changes since 1.72: +2 -1 lines
Diff to previous 1.72 (colored)

Only include <sys/tame.h> in the .c files that need it

ok deraadt@ miod@

Revision 1.72 / (download) - annotate - [select for diffs], Fri Sep 11 07:42:35 2015 UTC (8 years, 8 months ago) by claudio
Branch: MAIN
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored)

in6_embedscope() needs to lose some weight. Remove the last argument.
In all but two calls NULL is passed and in the other 2 cases the ifp
is only used to maybe feed it to in6_selecthlim() to select the hoplimit
for the link. Since in6_embedscope() only works on link-local addresses
it does not matter what hop limit we select since the destination is
directly reachable.
OK florian@ mpi@

Revision 1.71 / (download) - annotate - [select for diffs], Thu Sep 10 17:52:05 2015 UTC (8 years, 8 months ago) by claudio
Branch: MAIN
Changes since 1.70: +3 -3 lines
Diff to previous 1.70 (colored)

It is time to put inet6 on a diet. Use the flensing knife and cut out
the 3rd argument of in6_recoverscope() and make it return void.
OK dlg@ mikeb@

Revision 1.70 / (download) - annotate - [select for diffs], Sat Aug 22 20:18:50 2015 UTC (8 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.69: +1 -2 lines
Diff to previous 1.69 (colored)

Move to tame(int flags, char *paths[]) API/ABI.

The pathlist is a whitelist of dirs and files; anything else returns ENOENT.
Recommendation is to use a narrowly defined list.  Also add TAME_FATTR, which
permits explicit change operations against "struct stat" fields.  Some
other TAME_ flags are refined slightly.

Not cranking libc now, since nothing commited in base uses this and the
timing is uncomfortable for others.  Discussed with many; thanks for a
few bug fixes from semarie, doug, guenther.
ok guenther

Revision 1.69 / (download) - annotate - [select for diffs], Sun Jul 19 02:35:35 2015 UTC (8 years, 10 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE
Branch point for: OPENBSD_5_8
Changes since 1.68: +7 -1 lines
Diff to previous 1.68 (colored)

tame(2) is a subsystem which restricts programs into a "reduced feature
operating model".  This is the kernel component; various changes should
proceed in-tree for a while before userland programs start using it.
ok miod, discussions and help from many

Revision 1.68 / (download) - annotate - [select for diffs], Mon Jun 8 22:19:28 2015 UTC (8 years, 11 months ago) by krw
Branch: MAIN
Changes since 1.67: +10 -10 lines
Diff to previous 1.67 (colored)

More damned eye searing whitespace. No change to .o files.

Revision 1.67 / (download) - annotate - [select for diffs], Fri Dec 5 15:50:04 2014 UTC (9 years, 5 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE
Branch point for: OPENBSD_5_7
Changes since 1.66: +2 -1 lines
Diff to previous 1.66 (colored)

Explicitly include <net/if_var.h> instead of pulling it in <net/if.h>.

ok mikeb@, krw@, bluhm@, tedu@

Revision 1.66 / (download) - annotate - [select for diffs], Tue Nov 18 02:37:31 2014 UTC (9 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.65: +1 -3 lines
Diff to previous 1.65 (colored)

move arc4random prototype to systm.h. more appropriate for most code
to include that than rdnvar.h. ok deraadt dlg

Revision 1.65 / (download) - annotate - [select for diffs], Thu Aug 21 11:54:00 2014 UTC (9 years, 9 months ago) by mpi
Branch: MAIN
Changes since 1.64: +1 -5 lines
Diff to previous 1.64 (colored)

Misleading comments about splnet().

Revision 1.64 / (download) - annotate - [select for diffs], Tue Jul 22 11:06:10 2014 UTC (9 years, 10 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.63: +1 -2 lines
Diff to previous 1.63 (colored)

Fewer <netinet/in_systm.h> !

Revision 1.63 / (download) - annotate - [select for diffs], Tue Jun 3 13:32:24 2014 UTC (10 years ago) by mpi
Branch: MAIN
Changes since 1.62: +1 -2 lines
Diff to previous 1.62 (colored)

Do not include <sys/malloc.h> where it is not needed.

Revision 1.62 / (download) - annotate - [select for diffs], Fri Apr 18 10:48:30 2014 UTC (10 years, 1 month ago) by jca
Branch: MAIN
Changes since 1.61: +4 -7 lines
Diff to previous 1.61 (colored)

Invert the signature logic of in{,6}_selectsrc, make them return the
error code and pass the resulting source address back to the caller
through a pointer, as suggested by chrisz.  This gives us more readable
code, and eases the deletion of useless checks in the callers' error path.
Add a bunch of "0 -> NULL" conversions, while here.
ok chrisz@ mpi@

Revision 1.61 / (download) - annotate - [select for diffs], Wed Apr 16 13:04:38 2014 UTC (10 years, 1 month ago) by mpi
Branch: MAIN
Changes since 1.60: +4 -2 lines
Diff to previous 1.60 (colored)

Merge in_fixaddr() into in_selectsrc() in order to prepare for
IP_SENDSRCADDR support.  This reduces the differences with the
IPv6 version and kill some comments that are no longer true.

ok jca@, chrisz@, mikeb@

Revision 1.60 / (download) - annotate - [select for diffs], Sun Apr 6 16:49:40 2014 UTC (10 years, 1 month ago) by chrisz
Branch: MAIN
Changes since 1.59: +2 -1 lines
Diff to previous 1.59 (colored)

Remove redundant call to in{,6}_pcbbind() from tcp PRU_CONNECT.
Make sure that in_pcbbind() is called from in_pcbconnect() by KASSERTing that
local port == 0 implies an unspecified local address.

OK claudio@

Revision 1.59 / (download) - annotate - [select for diffs], Wed Jan 8 22:38:29 2014 UTC (10 years, 4 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.58: +5 -5 lines
Diff to previous 1.58 (colored)

Name the local variables for struct ifaddr consistently "ifa".
OK mikeb@

Revision 1.58 / (download) - annotate - [select for diffs], Fri Dec 20 02:04:09 2013 UTC (10 years, 5 months ago) by krw
Branch: MAIN
Changes since 1.57: +2 -5 lines
Diff to previous 1.57 (colored)

Switch inpt_queue from CIRCLEQ to TAILQ. Thus ending use of CIRCLEQ
in the base. Ports fixes to follow shortly for the two ports (gkrellm
and net-snmp) affected.

ok zhuk@ millert@

Revision 1.57 / (download) - annotate - [select for diffs], Sun Oct 20 11:03:02 2013 UTC (10 years, 7 months ago) by phessler
Branch: MAIN
Changes since 1.56: +9 -7 lines
Diff to previous 1.56 (colored)

Put a large chunk of the IPv6 rdomain support in-tree.

Still some important missing pieces, and this is not yet enabled.

OK bluhm@

Revision 1.56 / (download) - annotate - [select for diffs], Fri May 31 15:04:24 2013 UTC (11 years ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.55: +3 -3 lines
Diff to previous 1.55 (colored)

Remove a bunch of sockaddr_in6 pointer casts and replace others
with sin6tosa() or satosin6() inline functions.  This allows the
compiler to check the types more strictly.
OK mpi@

Revision 1.55 / (download) - annotate - [select for diffs], Fri May 31 13:15:53 2013 UTC (11 years ago) by bluhm
Branch: MAIN
Changes since 1.54: +11 -12 lines
Diff to previous 1.54 (colored)

The function rip6_ctlinput() claims that sa6_src is constant to
allow the assingment of &sa6_any.  But rip6_ctlinput() could not
guarantee that as it casted away the const attribute when it passes
the pointer to in6_pcbnotify().  Replace sockaddr with const
sockaddr_in6 in the in6_pcbnotify() parameters.  This reduces the
number of casts.  Also adjust in6_pcbhashlookup() to handle the
const attribute correctly.
Input and OK claudio@

Revision 1.54 / (download) - annotate - [select for diffs], Wed Apr 10 08:50:59 2013 UTC (11 years, 1 month ago) by mpi
Branch: MAIN
Changes since 1.53: +2 -6 lines
Diff to previous 1.53 (colored)

Remove various external variable declaration from sources files and
move them to the corresponding header with an appropriate comment if
necessary.

ok guenther@

Revision 1.53 / (download) - annotate - [select for diffs], Thu Mar 28 16:45:16 2013 UTC (11 years, 2 months ago) by tedu
Branch: MAIN
Changes since 1.52: +1 -2 lines
Diff to previous 1.52 (colored)

no need for a lot of code to include proc.h

Revision 1.52 / (download) - annotate - [select for diffs], Mon Mar 25 14:40:57 2013 UTC (11 years, 2 months ago) by mpi
Branch: MAIN
Changes since 1.51: +2 -4 lines
Diff to previous 1.51 (colored)

Substitute the handcrafted list of IPv6 addresses by a proper TAILQ.

ok bluhm@, mikeb@

Revision 1.51 / (download) - annotate - [select for diffs], Mon Mar 4 14:42:25 2013 UTC (11 years, 3 months ago) by bluhm
Branch: MAIN
Changes since 1.50: +2 -2 lines
Diff to previous 1.50 (colored)

Replace the cast to struct in6_ifaddr pointer with the ifatoia6() macro.
No binary change.
OK claudio@

Revision 1.50 / (download) - annotate - [select for diffs], Thu Nov 24 17:39:55 2011 UTC (12 years, 6 months ago) by sperreault
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1
Changes since 1.49: +3 -3 lines
Diff to previous 1.49 (colored)

rdomain support for IPv6
ok mikeb

Revision 1.49 / (download) - annotate - [select for diffs], Fri Jun 5 00:05:22 2009 UTC (15 years ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7, OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.48: +7 -7 lines
Diff to previous 1.48 (colored)

Initial support for routing domains. This allows to bind interfaces to
alternate routing table and separate them from other interfaces in distinct
routing tables. The same network can now be used in any doamin at the same
time without causing conflicts.
This diff is mostly mechanical and adds the necessary rdomain checks accross
net and netinet. L2 and IPv4 are mostly covered still missing pf and IPv6.
input and tested by jsg@, phessler@ and reyk@. "put it in" deraadt@

Revision 1.48 / (download) - annotate - [select for diffs], Sun Nov 23 13:30:59 2008 UTC (15 years, 6 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 (colored)

When accessing cached routes make sure the route is actually still valid.
Before accessing a ro_rt make sure the route is either freshly allocated or
RTF_UP is set. If not ro_rt should be freed and reallocated or at least no
info from the ro_rt should be considered valid.
This seems to solve the crashes seen by Felipe Alfaro Solana.
some sort of OK dlg@

Revision 1.47 / (download) - annotate - [select for diffs], Wed Jun 11 19:00:50 2008 UTC (15 years, 11 months ago) by mcbride
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4
Changes since 1.46: +9 -26 lines
Diff to previous 1.46 (colored)

ANSIfy to sync with KAME. From Karl Sjodahl <dunceor@gmail.com>.

ok todd deraadt naddy bluhm

Revision 1.46 / (download) - annotate - [select for diffs], Fri May 23 15:51:12 2008 UTC (16 years ago) by thib
Branch: MAIN
Changes since 1.45: +4 -4 lines
Diff to previous 1.45 (colored)

Deal with the situation when TCP nfs mounts timeout and processes
get hung in nfs_reconnect() because they do not have the proper
privilages to bind to a socket, by adding a struct proc * argument
to sobind() (and the *_usrreq() routines, and finally in{6}_pcbbind)
and do the sobind() with proc0 in nfs_connect.

OK markus@, blambert@.
"go ahead" deraadt@.

Fixes an issue reported by bernd@ (Tested by bernd@).
Fixes PR5135 too.

Revision 1.45 / (download) - annotate - [select for diffs], Mon May 19 14:58:29 2008 UTC (16 years ago) by markus
Branch: MAIN
Changes since 1.44: +4 -3 lines
Diff to previous 1.44 (colored)

SO_BINDANY for ipv6; ok djm@

Revision 1.44 / (download) - annotate - [select for diffs], Fri Apr 18 06:42:20 2008 UTC (16 years, 1 month ago) by djm
Branch: MAIN
Changes since 1.43: +3 -3 lines
Diff to previous 1.43 (colored)

use arc4random_uniform() for random number requests that are not a
power of two.

use arc4random_bytes() when requesting more than a word of PRNG
output.

ok deraadt@

Revision 1.43 / (download) - annotate - [select for diffs], Fri Jun 24 07:57:24 2005 UTC (18 years, 11 months ago) by markus
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2, OPENBSD_4_1_BASE, OPENBSD_4_1, OPENBSD_4_0_BASE, OPENBSD_4_0, OPENBSD_3_9_BASE, OPENBSD_3_9, OPENBSD_3_8_BASE, OPENBSD_3_8
Changes since 1.42: +8 -28 lines
Diff to previous 1.42 (colored)

simplify port allocation in pcb_bind(); based on freebsd; ok claudio henning

Revision 1.9.2.9 / (download) - annotate - [select for diffs], Sat Jun 5 23:11:26 2004 UTC (20 years ago) by niklas
Branch: SMP
Changes since 1.9.2.8: +22 -50 lines
Diff to previous 1.9.2.8 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored)

Merge with the trunk

Revision 1.9.2.8 / (download) - annotate - [select for diffs], Thu Feb 19 10:57:25 2004 UTC (20 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.9.2.7: +21 -23 lines
Diff to previous 1.9.2.7 (colored) to branchpoint 1.9 (colored)

Merge of current from two weeks agointo the SMP branch

Revision 1.42 / (download) - annotate - [select for diffs], Fri Feb 6 21:05:57 2004 UTC (20 years, 4 months ago) by itojun
Branch: MAIN
CVS Tags: SMP_SYNC_B, SMP_SYNC_A, OPENBSD_3_7_BASE, OPENBSD_3_7, OPENBSD_3_6_BASE, OPENBSD_3_6, OPENBSD_3_5_BASE, OPENBSD_3_5
Changes since 1.41: +2 -3 lines
Diff to previous 1.41 (colored)

permit IPv6-only operation (permit AF_INET6 bind(2) without IPv4 address).
found by todd fries.  markus ok

Revision 1.41 / (download) - annotate - [select for diffs], Thu Feb 5 04:39:57 2004 UTC (20 years, 4 months ago) by itojun
Branch: MAIN
Changes since 1.40: +22 -49 lines
Diff to previous 1.40 (colored)

remove never-to-be-used codepath (IPv4 mapped address).  ok mcbride

Revision 1.40 / (download) - annotate - [select for diffs], Sun Dec 21 15:12:27 2003 UTC (20 years, 5 months ago) by markus
Branch: MAIN
Changes since 1.39: +4 -4 lines
Diff to previous 1.39 (colored)

change in*_pcbnotify to return numbers of matches; ok itojun, mcbride, henning

Revision 1.39 / (download) - annotate - [select for diffs], Sun Dec 21 14:57:19 2003 UTC (20 years, 5 months ago) by markus
Branch: MAIN
Changes since 1.38: +4 -4 lines
Diff to previous 1.38 (colored)

use CIRCLEQ* for pcb's; ok deraadt, henning, mcbride, with help from canacar

Revision 1.38 / (download) - annotate - [select for diffs], Tue Nov 4 22:39:38 2003 UTC (20 years, 7 months ago) by markus
Branch: MAIN
Changes since 1.37: +4 -4 lines
Diff to previous 1.37 (colored)

don't call in_pcbrehash twice; ok itojun@

Revision 1.37 / (download) - annotate - [select for diffs], Wed Oct 1 21:41:05 2003 UTC (20 years, 8 months ago) by itojun
Branch: MAIN
Changes since 1.36: +9 -11 lines
Diff to previous 1.36 (colored)

use random number generator to generate IPv6 fragment ID/flowlabel.
cleanup IPv6 flowlabel handling.  deraadt ok

Revision 1.36 / (download) - annotate - [select for diffs], Sun Sep 28 23:17:45 2003 UTC (20 years, 8 months ago) by cloder
Branch: MAIN
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored)

Correct off-by-ones with respect to PRC_NCMDS.  Mostly from FreeBSD.
OK krw@, deraadt@

Revision 1.35 / (download) - annotate - [select for diffs], Fri Aug 15 20:32:20 2003 UTC (20 years, 9 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored)

change arguments to suser.  suser now takes the process, and a flags
argument.  old cred only calls user suser_ucred.  this will allow future
work to more flexibly implement the idea of a root process.  looks like
something i saw in freebsd, but a little different.
use of suser_ucred vs suser in file system code should be looked at again,
for the moment semantics remain unchanged.
review and input from art@  testing and further review miod@

Revision 1.9.2.7 / (download) - annotate - [select for diffs], Sat Jun 7 11:06:09 2003 UTC (21 years ago) by ho
Branch: SMP
Changes since 1.9.2.6: +2 -6 lines
Diff to previous 1.9.2.6 (colored) to branchpoint 1.9 (colored)

Sync SMP branch to -current

Revision 1.34 / (download) - annotate - [select for diffs], Mon Jun 2 23:28:15 2003 UTC (21 years ago) by millert
Branch: MAIN
Changes since 1.33: +2 -6 lines
Diff to previous 1.33 (colored)

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999.  Proofed by myself and Theo.

Revision 1.26.4.4 / (download) - annotate - [select for diffs], Mon May 19 22:27:25 2003 UTC (21 years ago) by tedu
Branch: UBC
Changes since 1.26.4.3: +2 -2 lines
Diff to previous 1.26.4.3 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

sync

Revision 1.9.2.6 / (download) - annotate - [select for diffs], Fri Mar 28 00:41:29 2003 UTC (21 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.9.2.5: +25 -16 lines
Diff to previous 1.9.2.5 (colored) to branchpoint 1.9 (colored)

Sync the SMP branch with 3.3

Revision 1.33 / (download) - annotate - [select for diffs], Sat Mar 15 19:16:10 2003 UTC (21 years, 2 months ago) by deraadt
Branch: MAIN
CVS Tags: UBC_SYNC_A, OPENBSD_3_3_BASE, OPENBSD_3_3
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

specifed -> specified

Revision 1.26.4.3 / (download) - annotate - [select for diffs], Tue Oct 29 00:36:48 2002 UTC (21 years, 7 months ago) by art
Branch: UBC
Changes since 1.26.4.2: +23 -16 lines
Diff to previous 1.26.4.2 (colored) to branchpoint 1.26 (colored)

sync to -current

Revision 1.32 / (download) - annotate - [select for diffs], Wed Sep 11 03:15:36 2002 UTC (21 years, 8 months ago) by itojun
Branch: MAIN
CVS Tags: UBC_SYNC_B, OPENBSD_3_2_BASE, OPENBSD_3_2
Changes since 1.31: +9 -9 lines
Diff to previous 1.31 (colored)

KNF - return is not a function.  sync w/kame

Revision 1.31 / (download) - annotate - [select for diffs], Wed Sep 4 07:26:53 2002 UTC (21 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.30: +4 -4 lines
Diff to previous 1.30 (colored)

pass struct proc * down to in6_pcbsetport

Revision 1.30 / (download) - annotate - [select for diffs], Tue Aug 20 21:50:56 2002 UTC (21 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.29: +12 -5 lines
Diff to previous 1.29 (colored)

more comment on bind(deprecated) handling

Revision 1.26.4.2 / (download) - annotate - [select for diffs], Tue Jun 11 03:31:37 2002 UTC (21 years, 11 months ago) by art
Branch: UBC
Changes since 1.26.4.1: +4 -2 lines
Diff to previous 1.26.4.1 (colored) to branchpoint 1.26 (colored)

Sync UBC branch to -current

Revision 1.29 / (download) - annotate - [select for diffs], Sun Jun 9 00:22:24 2002 UTC (21 years, 11 months ago) by itojun
Branch: MAIN
Changes since 1.28: +3 -1 lines
Diff to previous 1.28 (colored)

correct getpeername(2).

Revision 1.9.2.5 / (download) - annotate - [select for diffs], Thu Mar 28 14:56:46 2002 UTC (22 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.9.2.4: +1 -1 lines
Diff to previous 1.9.2.4 (colored) to branchpoint 1.9 (colored)

Merge in -current from roughly a week ago

Revision 1.28 / (download) - annotate - [select for diffs], Thu Mar 14 01:27:12 2002 UTC (22 years, 2 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

First round of __P removal in sys

Revision 1.9.2.4 / (download) - annotate - [select for diffs], Wed Mar 6 02:15:08 2002 UTC (22 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.9.2.3: +5 -45 lines
Diff to previous 1.9.2.3 (colored) to branchpoint 1.9 (colored)

Merge in trunk

Revision 1.26.4.1 / (download) - annotate - [select for diffs], Thu Jan 31 22:55:46 2002 UTC (22 years, 4 months ago) by niklas
Branch: UBC
Changes since 1.26: +5 -45 lines
Diff to previous 1.26 (colored)

Merge in -current, builds on i386, otherwise untested

Revision 1.27 / (download) - annotate - [select for diffs], Mon Jan 21 05:33:14 2002 UTC (22 years, 4 months ago) by itojun
Branch: MAIN
Changes since 1.26: +5 -45 lines
Diff to previous 1.26 (colored)

remove couple of #if 0'ed portion we will never use

Revision 1.9.2.3 / (download) - annotate - [select for diffs], Wed Jul 4 10:55:20 2001 UTC (22 years, 11 months ago) by niklas
Branch: SMP
Changes since 1.9.2.2: +39 -10 lines
Diff to previous 1.9.2.2 (colored) to branchpoint 1.9 (colored)

Merge in -current from two days ago in the SMP branch.
As usual with merges, they do not indicate progress, so do not hold
your breath for working SMP, and do not mail me and ask about the
state of it.  It has not changed.  There is work ongoing, but very, very
slowly.  The commit is done in parts as to not lock up the tree in too
big chunks at a time.

Revision 1.26 / (download) - annotate - [select for diffs], Tue Jun 5 02:31:37 2001 UTC (23 years ago) by deraadt
Branch: MAIN
CVS Tags: UBC_BASE, OPENBSD_3_0_BASE, OPENBSD_3_0
Branch point for: UBC
Changes since 1.25: +39 -10 lines
Diff to previous 1.25 (colored)

repair copyright notices for NRL & cmetz; cmetz

Revision 1.9.2.2 / (download) - annotate - [select for diffs], Mon May 14 22:40:17 2001 UTC (23 years ago) by niklas
Branch: SMP
Changes since 1.9.2.1: +493 -392 lines
Diff to previous 1.9.2.1 (colored) to branchpoint 1.9 (colored)

merge in approximately 2.9 into SMP branch

Revision 1.25 / (download) - annotate - [select for diffs], Fri Feb 16 16:00:56 2001 UTC (23 years, 3 months ago) by itojun
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE, OPENBSD_2_9
Changes since 1.24: +84 -37 lines
Diff to previous 1.24 (colored)

pull in new pcb notification code from kame.  better handling of scope address.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Feb 16 08:22:05 2001 UTC (23 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.23: +11 -11 lines
Diff to previous 1.23 (colored)

kill register declarations.  to sync with kame better.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Feb 8 18:46:23 2001 UTC (23 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.22: +1 -2 lines
Diff to previous 1.22 (colored)

witch raw ip6 socket code from NRL to kame.
makes upgrades/code sharing much easier.

Revision 1.22 / (download) - annotate - [select for diffs], Sat Jan 6 16:07:45 2001 UTC (23 years, 5 months ago) by itojun
Branch: MAIN
Changes since 1.21: +25 -1 lines
Diff to previous 1.21 (colored)

prohibited binding to an anycast, notready, or detached IPv6 address.
sync with kame 1.46 -> 1.47

Revision 1.21 / (download) - annotate - [select for diffs], Thu Dec 21 00:54:11 2000 UTC (23 years, 5 months ago) by itojun
Branch: MAIN
Changes since 1.20: +8 -4 lines
Diff to previous 1.20 (colored)

correct ipv6 path mtu discovery.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Oct 11 09:14:14 2000 UTC (23 years, 7 months ago) by itojun
Branch: MAIN
CVS Tags: OPENBSD_2_8_BASE, OPENBSD_2_8
Changes since 1.19: +13 -27 lines
Diff to previous 1.19 (colored)

nuke inp_flags bits for controlling IPv4 mapped address.
we don't support IPv4 mapped address,
and there are inconsistent bit manipulation code so it's safer to nuke them.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Jun 18 18:07:49 2000 UTC (23 years, 11 months ago) by itojun
Branch: MAIN
Changes since 1.18: +261 -279 lines
Diff to previous 1.18 (colored)

KNF (sorry craig)

Revision 1.18 / (download) - annotate - [select for diffs], Sun Jun 18 18:00:18 2000 UTC (23 years, 11 months ago) by itojun
Branch: MAIN
Changes since 1.17: +1 -2 lines
Diff to previous 1.17 (colored)

remove now-unnecessary statement due to "for" logic clarfication.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Jun 18 17:56:42 2000 UTC (23 years, 11 months ago) by itojun
Branch: MAIN
Changes since 1.16: +5 -8 lines
Diff to previous 1.16 (colored)

correct logic mistake in in6_pcbnotify, due to indentation.
will KNF it soon.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Jun 18 17:27:05 2000 UTC (23 years, 11 months ago) by itojun
Branch: MAIN
Changes since 1.15: +167 -123 lines
Diff to previous 1.15 (colored)

use in6_recoverscope

Revision 1.15 / (download) - annotate - [select for diffs], Tue Jun 13 10:12:01 2000 UTC (23 years, 11 months ago) by itojun
Branch: MAIN
Changes since 1.14: +18 -32 lines
Diff to previous 1.14 (colored)

allow link-local IPv6 addres in in6_pcbbind.

Revision 1.14 / (download) - annotate - [select for diffs], Sat Jun 3 13:04:39 2000 UTC (24 years ago) by itojun
Branch: MAIN
Changes since 1.13: +42 -19 lines
Diff to previous 1.13 (colored)

correctly handle ctlinput messages for IPv6.

Revision 1.13 / (download) - annotate - [select for diffs], Sun May 28 23:58:51 2000 UTC (24 years ago) by itojun
Branch: MAIN
Changes since 1.12: +5 -1 lines
Diff to previous 1.12 (colored)

do not treat bind(2) with IPv4 mapped address in a special way.
old code fails to check for port number duplicate.
XXX should remove more IPv4 mapped code

Revision 1.12 / (download) - annotate - [select for diffs], Thu Apr 27 09:23:21 2000 UTC (24 years, 1 month ago) by itojun
Branch: MAIN
CVS Tags: OPENBSD_2_7_BASE, OPENBSD_2_7
Changes since 1.11: +4 -2 lines
Diff to previous 1.11 (colored)

avoid infinite loop in in{6,}_pcbnotify (can occurs on family mismatch)

Revision 1.11 / (download) - annotate - [select for diffs], Fri Apr 21 11:42:25 2000 UTC (24 years, 1 month ago) by itojun
Branch: MAIN
Changes since 1.10: +5 -1 lines
Diff to previous 1.10 (colored)

NRL pcb issue; inp_{f,l}addr{,6} is a union so we need to be sure about
af match.
- do not touch IPv4 pcb entries on in6_pcbnotify.
- do not touch IPv6 pcb entries on in_pcbnotify.

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Thu Mar 2 07:04:45 2000 UTC (24 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.9: +1 -1 lines
Diff to previous 1.9 (colored)

Sync with -current

Revision 1.10 / (download) - annotate - [select for diffs], Mon Feb 28 11:55:22 2000 UTC (24 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9 (colored)

bring in recent KAME changes (only important and stable ones, as usual).
- remove net.inet6.ip6.nd6_proxyall.  introduce proxy NDP code works
  just like "arp -s".
- revise source address selection.
  be more careful about use of yet-to-be-valid addresses as source.
- as router, transmit ICMP6_DST_UNREACH_BEYONDSCOPE against out-of-scope
  packet forwarding attempt.
- path MTU discovery takes care of routing header properly.
- be more strict about mbuf chain parsing.
- nuke xxCTL_VARS #define, they are for BSDI.
- disable SIOCSIFDSTADDR_IN6/SIOCSIFNETMASK_IN6 ioctl, they do not fit
  IPv6 model where multiple address on interface is normal.
  (kernel side supports them for a while for backward compat,
  the support will be nuked shortly)
- introduce "default outgoing interface" (for spec conformance in very
  rare case)

Revision 1.9 / (download) - annotate - [select for diffs], Mon Feb 7 06:09:10 2000 UTC (24 years, 4 months ago) by itojun
Branch: MAIN
CVS Tags: SMP_BASE
Branch point for: SMP
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

fix include file path related to ip6.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Dec 10 08:53:17 1999 UTC (24 years, 5 months ago) by angelos
Branch: MAIN
Changes since 1.7: +2 -0 lines
Diff to previous 1.7 (colored)

Add RCS tags, remove unused header files and code, remove a few
unnecessary ifdefs...

Revision 1.7 / (download) - annotate - [select for diffs], Wed Dec 8 11:28:35 1999 UTC (24 years, 6 months ago) by angelos
Branch: MAIN
Changes since 1.6: +3 -945 lines
Diff to previous 1.6 (colored)

Removed about 24KB of ifdef'ed code. It's nice to be able to see what
other OSes do, but not if I can't read our code.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Dec 8 06:50:21 1999 UTC (24 years, 6 months ago) by itojun
Branch: MAIN
CVS Tags: kame_19991208
Changes since 1.5: +173 -34 lines
Diff to previous 1.5 (colored)

bring in KAME IPv6 code, dated 19991208.
replaces NRL IPv6 layer.  reuses NRL pcb layer.  no IPsec-on-v6 support.
see sys/netinet6/{TODO,IMPLEMENTATION} for more details.

GENERIC configuration should work fine as before.  GENERIC.v6 works fine
as well, but you'll need KAME userland tools to play with IPv6 (will be
bringed into soon).

Revision 1.5 / (download) - annotate - [select for diffs], Wed Mar 24 02:28:22 1999 UTC (25 years, 2 months ago) by cmetz
Branch: MAIN
CVS Tags: OPENBSD_2_6_BASE, OPENBSD_2_6, OPENBSD_2_5_BASE, OPENBSD_2_5
Changes since 1.4: +18 -18 lines
Diff to previous 1.4 (colored)

Replace 'in6a_words' (old NRL convention) with 's6_addr32' (new BSDI et al.
convention that is more common and more specific as to the access size)

Revision 1.4 / (download) - annotate - [select for diffs], Tue Mar 9 05:31:52 1999 UTC (25 years, 3 months ago) by cmetz
Branch: MAIN
Changes since 1.3: +15 -9 lines
Diff to previous 1.3 (colored)

Demangled the INET6 stuff so as not to require any extra options and not to
be mutually exclusive with the IPSEC option.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Feb 24 04:36:41 1999 UTC (25 years, 3 months ago) by cmetz
Branch: MAIN
Changes since 1.2: +5 -0 lines
Diff to previous 1.2 (colored)

Synchronized changes needed to integrate into OpenBSD with the NRL source
tree so we can have a unified netinet6 directory.

Revision 1.2 / (download) - annotate - [select for diffs], Thu Jan 7 05:44:33 1999 UTC (25 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.1: +0 -4 lines
Diff to previous 1.1 (colored)

rename baddynamic() to in_baddynamic(), and export it

Revision 1.1 / (download) - annotate - [select for diffs], Wed Jan 6 23:26:55 1999 UTC (25 years, 5 months ago) by deraadt
Branch: MAIN

first few files of NRL ipv6.  This NRL release was officially exported
to me by US DOD officials, with the crypto already removed.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.