#
f2a0e423 |
| 11-Sep-2015 |
stsp <stsp@openbsd.org> |
Make room for media types of the future. Extend the ifmedia word to 64 bits. This changes numbers of the SIOCSIFMEDIA and SIOCGIFMEDIA ioctls and grows struct ifmediareq.
Old ifconfig and dhclient b
Make room for media types of the future. Extend the ifmedia word to 64 bits. This changes numbers of the SIOCSIFMEDIA and SIOCGIFMEDIA ioctls and grows struct ifmediareq.
Old ifconfig and dhclient binaries can still assign addresses, however the 'media' subcommand stops working. Recompiling ifconfig and dhclient with new headers before a reboot should not be necessary unless in very special circumstances where non-default media settings must be used to get link and console access is not available.
There may be some MD fallout but that will be cleared up later.
ok deraadt miod with help and suggestions from several sharks attending l2k15
show more ...
|
#
1fce3e48 |
| 09-Sep-2015 |
dlg <dlg@openbsd.org> |
introduce reference counts for interfaces (ie, struct ifnet *ifp).
if_get can get a reference to an ifp, but it never releases that reference. this provides an if_put function that can be used to de
introduce reference counts for interfaces (ie, struct ifnet *ifp).
if_get can get a reference to an ifp, but it never releases that reference. this provides an if_put function that can be used to decrement the refcount.
we cannot come up with a scheme for letting the network stack run on one (or many) cpus while ioctls are pulling interfaces down on another cpu without refcounts for the interfaces.
if_put is going in now so we can go through the stack and put the necessary calls to it in, and then we'll backfill this implementation to actually check the refcounts when the interface detaches.
ok mpi@ mikeb@ claudio@
show more ...
|
#
07577b53 |
| 30-Aug-2015 |
mpi <mpi@openbsd.org> |
Use a global table for domains instead of building a list at run time.
As a side effect there's no need to run if_attachdomain() after the list of domains has been built.
ok claudio@, reyk@
|
#
ba413839 |
| 07-Jun-2015 |
jsg <jsg@openbsd.org> |
Introduce unhandled_af() for cases where code conditionally does something based on an address family and later assumes one of the paths was taken. This was initially just calls to panic until guent
Introduce unhandled_af() for cases where code conditionally does something based on an address family and later assumes one of the paths was taken. This was initially just calls to panic until guenther suggested a function to reduce the amount of strings needed.
This reduces the amount of noise with static analysers and acts as a sanity check.
ok guenther@ bluhm@
show more ...
|
#
f7458092 |
| 18-May-2015 |
reyk <reyk@openbsd.org> |
Move the rdomain from struct ifnet into struct if_data. This way it will be exported to userland with the existing sysctl, getifaddrs() and routing socket (if_msghdr.ifm_data) interfaces that expose
Move the rdomain from struct ifnet into struct if_data. This way it will be exported to userland with the existing sysctl, getifaddrs() and routing socket (if_msghdr.ifm_data) interfaces that expose if_data. All programs and daemons - Apps - that call the SIOCGIFRDOMAIN ioctl in a getifaddrs() loop or after receiving an interface message on the routing socket can now remove the pointless additional ioctl. In base, that could be: dhclient, isakmpd, dhcpd, dhcrelay, ntpd, ospfd, ripd, ifconfig.
No ABI breakage because it uses a previously unused pad field in if_data.
OK mpi@ deraadt@
show more ...
|
#
f074e7d4 |
| 10-Apr-2015 |
mpi <mpi@openbsd.org> |
Run detach hook and similar before cleaning up any other resource when an interface is destroyed/removed. This way we can ensure pseudo-driver changes done after attaching an interface are undone be
Run detach hook and similar before cleaning up any other resource when an interface is destroyed/removed. This way we can ensure pseudo-driver changes done after attaching an interface are undone before detaching it.
Note: it is safe to call if_deactivate() multiple times as the interface should not have any attached pseudo-interface after the first call.
ok deraadt@, dlg@
show more ...
|
#
ff2a9cfc |
| 18-Mar-2015 |
dlg <dlg@openbsd.org> |
remove the congestion handling from struct ifqueue.
its only used for the ip and ip6 network stack input queues, so it seems unfair that every instance of ifqueue has to carry a pointer around for t
remove the congestion handling from struct ifqueue.
its only used for the ip and ip6 network stack input queues, so it seems unfair that every instance of ifqueue has to carry a pointer around for this specific use case.
this moves the congestion marker to a kernel global. if we detect that we're congested, we assume the whole system is busy and punish all input queues.
marking a system as congested is done by setting the global to the current value of ticks. as the system moves away from that value, it moves away from being congested until the comparison fails.
written at s2k15 ok henning@ beck@ bluhm@ claudio@
show more ...
|
#
cd0ed4ce |
| 08-Feb-2015 |
mpi <mpi@openbsd.org> |
Introduce if_input() a function to pass packets dequeued from a recieving ring to the stack.
if_input() is at the moment a drop-in replacement for ether_input_mbuf() but will let us stack pseudo-dri
Introduce if_input() a function to pass packets dequeued from a recieving ring to the stack.
if_input() is at the moment a drop-in replacement for ether_input_mbuf() but will let us stack pseudo-driver in a nice way in order to no longer call ether_input() recursively.
ok pelikan@, reyk@, blambert@, henning@
show more ...
|
#
3298ff1c |
| 06-Jan-2015 |
stsp <stsp@openbsd.org> |
Remove the NOINET6 interface flag, a left-over from the times when IPv6 was enabled by default. Add AFATTACH/AFDETACH ioctls which enable/disable an address family for an interface (currently used fo
Remove the NOINET6 interface flag, a left-over from the times when IPv6 was enabled by default. Add AFATTACH/AFDETACH ioctls which enable/disable an address family for an interface (currently used for IPv6 only).
New kernel needs new ifconfig for IPv6 configuration (address assignment still works with old ifconfig making this easy to cross over).
Committing on behalf of henning@ who is currently lebensmittelvergiftet. ok stsp, benno, mpi
show more ...
|
#
0deb6685 |
| 05-Dec-2014 |
mpi <mpi@openbsd.org> |
Explicitly include <net/if_var.h> instead of pulling it in <net/if.h>.
ok mikeb@, krw@, bluhm@, tedu@
|
#
fa1a55ef |
| 14-Jul-2014 |
dlg <dlg@openbsd.org> |
now that receive ring accounting has been pulled out of the mbuf layer, we can pull the space the mbuf layer used to do per interface accounting out of struct if_data.
saves a hundredish bytes on ev
now that receive ring accounting has been pulled out of the mbuf layer, we can pull the space the mbuf layer used to do per interface accounting out of struct if_data.
saves a hundredish bytes on every interface.
ok deraadt@ claudio@
show more ...
|
#
2a4a63f1 |
| 11-Jul-2014 |
henning <henning@openbsd.org> |
introduce the IFXF_AUTOCONF6 interface flag which controls wether we accept rtadvs on that interface. the global net.inet6.ip6.accept_rtadv sysctl just doesn't cut it, even tho the spec wants that -
introduce the IFXF_AUTOCONF6 interface flag which controls wether we accept rtadvs on that interface. the global net.inet6.ip6.accept_rtadv sysctl just doesn't cut it, even tho the spec wants that - but in their little absurd world, a host just has one interface by definition anyway... the sysctlgoes away. lots of head scratching, brain cell elemination etc from bluhm benno stsp florian, excitement from simon and todd, ok bluhm stsp benno florian
show more ...
|
#
6f6698aa |
| 08-Jul-2014 |
dlg <dlg@openbsd.org> |
introduce the if_rxr api. it is intended to pull the rx ring accounting out of the mbuf layer, and break the assumption that an interface will only have a single ring per mbuf cluster size.
mpi@ is
introduce the if_rxr api. it is intended to pull the rx ring accounting out of the mbuf layer, and break the assumption that an interface will only have a single ring per mbuf cluster size.
mpi@ is ok with moving this forward
show more ...
|
#
7893a1c8 |
| 13-Jun-2014 |
mpi <mpi@openbsd.org> |
Instead of updating all the cluster allocation water marks of all the interfaces when the kernel is livelocked, only do it for the current pool and defer the other updates.
This allow us to get rid
Instead of updating all the cluster allocation water marks of all the interfaces when the kernel is livelocked, only do it for the current pool and defer the other updates.
This allow us to get rid of an interface list iteration in a critical path.
Ridding the libc crank since this change introduce an ABI break.
ok claudio@
show more ...
|
#
8992daf0 |
| 21-Nov-2013 |
mikeb <mikeb@openbsd.org> |
split kernel parts of the if.h into a separate header file if_var.h which allows us to modify ifnet structure in a relatively safe way; discussed with deraadt, ok mpi
|
#
28215296 |
| 09-Nov-2013 |
dlg <dlg@openbsd.org> |
ticks is compared against mcl_grown to see if time has elapsed since the rx ring was last allowed to grow and then assigned to it. it is erroneous to do this because mcl_grown is a u_int and ticks is
ticks is compared against mcl_grown to see if time has elapsed since the rx ring was last allowed to grow and then assigned to it. it is erroneous to do this because mcl_grown is a u_int and ticks is an int.
this makes mcl_grown an int, and follows the idiom in kern_timeout.c of going "thing - ticks < diff", which better copes with ticks wrapping around and being used to calculate relative intervals.
ok pirofti@ guenther@
show more ...
|
#
b2d39e37 |
| 01-Nov-2013 |
pelikan <pelikan@openbsd.org> |
keep net/hfsc.h away from userspace, except in pfctl
tested by naddy, ok deraadt
|
#
6a13ab64 |
| 21-Oct-2013 |
benno <benno@openbsd.org> |
nuke comment. How soon is now? "do it" deraadt@
|
#
34f93747 |
| 19-Oct-2013 |
reyk <reyk@openbsd.org> |
Bring back the if_detachhook. We're going to have more users now.
ok mpi@ henning@ benno@
|
#
d72e8ec4 |
| 13-Oct-2013 |
reyk <reyk@openbsd.org> |
Import vxlan(4), the virtual extensible local area network tunnel interface. VXLAN is a UDP-based tunnelling protocol for overlaying virtualized layer 2 networks over layer 3 networks. The implement
Import vxlan(4), the virtual extensible local area network tunnel interface. VXLAN is a UDP-based tunnelling protocol for overlaying virtualized layer 2 networks over layer 3 networks. The implementation is based on draft-mahalingam-dutt-dcops-vxlan-04 and has been tested with other implementations in the wild.
put it in deraadt@
show more ...
|
#
65683941 |
| 12-Oct-2013 |
henning <henning@openbsd.org> |
new bandwidth shaping subsystem, kernel side uses hfsc behind the scenes; altq stays in parallel for a migration phase. if.h even more messy for the transition, but eventuelly it should become readab
new bandwidth shaping subsystem, kernel side uses hfsc behind the scenes; altq stays in parallel for a migration phase. if.h even more messy for the transition, but eventuelly it should become readable... looked over & tested by many, ok phessler sthen
show more ...
|
#
a5f352fa |
| 17-Sep-2013 |
mpi <mpi@openbsd.org> |
Change vlan(4) detach procedure to not use a hook but a list of vlans on the parent interface. This is similar to what bridge(4), trunk(4) or carp(4) are doing and allows us to get rid of the detach
Change vlan(4) detach procedure to not use a hook but a list of vlans on the parent interface. This is similar to what bridge(4), trunk(4) or carp(4) are doing and allows us to get rid of the detachhook.
ok reyk@, mikeb@
show more ...
|
#
25314f7c |
| 28-Aug-2013 |
mpi <mpi@openbsd.org> |
Remove unused argument from *rtrequest()
ok krw@, mikeb@
|
#
919823cc |
| 20-Jun-2013 |
mpi <mpi@openbsd.org> |
Revert previous and unbreak asr, the new include should be protected.
Reported by naddy@
|
#
ef3d57c9 |
| 20-Jun-2013 |
mpi <mpi@openbsd.org> |
Allocate the various hook head descriptors as part of the ifnet structure rather than doing various M_WAITOK allocations during the *attach() functions, we always rely on them anyway.
ok mikeb@, ueb
Allocate the various hook head descriptors as part of the ifnet structure rather than doing various M_WAITOK allocations during the *attach() functions, we always rely on them anyway.
ok mikeb@, uebayasi@
show more ...
|