created | 2019-07-09T07:41:50Z |
---|---|
begin | 2019-07-05T00:00:00Z |
end | 2019-07-06T00:00:00Z |
path | src/sys |
commits | 18 |
date | 2019-07-05T01:23:22Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/netinet/if_ether.h | log | diff | annotate |
message |
add ac_trunkport to arpcom so trunks can coordinate owning an interface Ethernet interfaces can be used by trunk(4), and i'm about to commit a new aggr(4) driver which should not be able to use an interface while trunk owns it and visa versa. |
date | 2019-07-05T01:24:56Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_trunk.c | log | diff | annotate |
message |
record when trunk takes over an interface by setting ac_trunkport this will be used to prevent trunk and the upcoming aggr driver from taking ownership of an Ethernet interface at the same time. |
date | 2019-07-05T01:35:58Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_aggr.c | log | diff | annotate |
message |
add aggr(4), a dedicated driver that implements 802.1AX link aggregation 802.1AX (formerly known as 802.3ad) describes the Link Aggregation Control Protocol (LACP) and how to use it in a bunch of different state machines to control when to bundle interfaces into an aggregation. technically the trunk(4) driver already implements support for 802.1AX, but it had a couple of problems i struggled to deal with as part of that driver. firstly, i couldnt easily make the output path in trunk mpsafe without getting bogged down, and the state machine handling had a few hard to diagnose edge cases that i couldnt figure out. the new driver has an mpsafe output path, and implements ifq bypass like vlan(4) does. this means output with aggr(4) is up to twice as fast as trunk(4). the implementation of the state machines as per the standard means the driver behaves more correctly in edge cases like when a physical link looks like it is up, but is logically unidirectional. the code has been good enough for me to use in production, but it does need more work. that can happen in tree now instead of carrying a large diff around. some testing by ccardenas@, hrvoje popovski, and jmatthew@ ok deraadt@ ccardenas@ jmatthew@ |
date | 2019-07-05T01:37:13Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/conf/files | log | diff | annotate |
message | wire up aggr |
date | 2019-07-05T01:37:53Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/conf/GENERIC | log | diff | annotate |
message |
add aggr, but leave it commented out for now. it needs to be a bit more robust before making it more available to try. |
date | 2019-07-05T02:27:48Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_aggr.c | log | diff | annotate |
message |
tweak mtu handling and propagate mtu setting to trunkports make setting a trunkports mtu to its current mtu a nop. set a trunkports mtu to the aggr mtu when the port is getting added. set the mtu on all trunkports when the aggr mtu is set so things look consistent. restore a trunkports mtu when it is removed from an aggr. this is mostly cosmetic since the mtu on trunkports isn't really used anywhere. |
date | 2019-07-05T02:36:31Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_aggr.c | log | diff | annotate |
message | report a port as active to userland if it is muxed |
date | 2019-07-05T03:34:53Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_aggr.c | log | diff | annotate |
message | move a declaration before a statement. |
date | 2019-07-05T04:56:15Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_aggr.c | log | diff | annotate |
message | init the log of tx times to somewhere in the past when adding a port. |
date | 2019-07-05T04:58:59Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_aggr.c | log | diff | annotate |
message |
iterate over distributing ports when populating the tx map, not all ports this probably explains why ive seen a box decide not to use a distributing port, even though the state machine and all the lacp state flags say it's fine. it may also explain why jmatthew@ has seen a port still transmitting after it's been removed from an aggr(4). |
date | 2019-07-05T05:00:07Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_aggr.c | log | diff | annotate |
message |
initialise sc_lacp_timeout to AGGR_LACP_TIMEOUT_SLOW, not 0; it's the same, but there was a misleading comment on the same line which this cleans up too. |
date | 2019-07-05T05:00:40Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_aggr.c | log | diff | annotate |
message | fix the $OpenBSD$ tag |
date | 2019-07-05T07:18:12Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_aggr.c | log | diff | annotate |
message | pretend to handle setting trunkproto, but only support setting it to lacp |
date | 2019-07-05T12:10:10Z | |||
---|---|---|---|---|
author | kettenis | |||
files | src/sys/dev/pci/drm/drm_linux.c | log | diff | annotate |
src/sys/dev/pci/drm/i915/intel_hotplug.c | log | diff | annotate | |
message |
Use multi-threaded task queues to prevent deadlocks in the case where a tasks sleeps and expects to be woken up by a task that will be submitted to the same task queue. That scenario happens in the output hotplug code. We probably should spend some time on tuning the number of threads but let's make things work correctly first. Based on some serious debugging done by Sven M. Hallberg. ok jsg@ |
date | 2019-07-05T12:35:16Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/dev/ic/bwfm.c | log | diff | annotate |
src/sys/dev/ic/bwfmvar.h | log | diff | annotate | |
message |
Since on a SCAN each node is provided in its own event, the limited ring for asynchronous can easily overflow. Work around this by chaining the mbufs into a list. Fixes a panic for jcs@ ok stsp@ |
date | 2019-07-05T15:23:35Z | |||
---|---|---|---|---|
author | visa | |||
files | src/sys/arch/octeon/octeon/autoconf.c | log | diff | annotate |
message |
If there is no explicit device class match for a given boot device, use DV_IFNET. This makes all network interfaces available for root device selection. Requested by and OK patrick@ |
date | 2019-07-05T19:06:50Z | |||
---|---|---|---|---|
author | kettenis | |||
files | src/sys/arch/sparc64/dev/vpci.c | log | diff | annotate |
message |
Fix vpci_bus_map() if the case where the "child" space in the "ranges" property doesn't start at address zero. |
date | 2019-07-05T22:10:50Z | |||
---|---|---|---|---|
author | kn | |||
files | src/sys/kern/kern_watchdog.c | log | diff | annotate |
message |
Use timeout_add_msec(9) Although the period is specified in seconds, convert to milliseconds so uneven periods are not truncated after integer division by two. Input and OK cheloha |