summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Avoid print for NULL pointerjan2021-03-051-5/+4
| | | | | | The subclass arrays have to be empty. OK deraadt@
* Fix regress tests after changes to tal.c, mft.c, and cert.c.claudio2021-03-052-4/+38
|
* Factor out the URI check we do in various places into valid_uri().claudio2021-03-054-58/+50
| | | | | RRDP will add a bunch more checks so this makes even more sense. With and OK tb@
* If there is a problem with opening a directory via M-x dired, let thelum2021-03-051-2/+5
| | | | user know. EACCESS is currently accounted for, but nothing else.
* Factor out the SHA256 hash checks into valid_filehash() so that it canclaudio2021-03-053-46/+50
| | | | | be used by the RRDP code as well. OK tb@
* Test case for read-only array being not that read-only in ksh.zhuk2021-03-051-1/+14
| | | | okay tb@
* Fix old ksh bug: wrong variable being looked up when value is provided.zhuk2021-03-051-2/+2
| | | | | | | This results, e.g., in allowing the first item of a read-only array to be overwritten, as found by Jordan Geoghegan. okay tb@
* ansijsg2021-03-052-14/+6
|
* add missing PCI classesjan2021-03-051-1/+8
| | | | OK dlg@
* ansijsg2021-03-0515-250/+113
|
* Start porting smtpd to libtls.eric2021-03-0523-577/+549
| | | | | | | | | | Note that it changes the way SNI works: The certificate to use is now selected by looking at the names found in the certificates themselves, rather than the names of the pki entries in the configuration file. The set of certificates for a tls listener must be defined explicitly by using the pki listener option multiple times. ok tb@
* Remove space at end of lineclaudio2021-03-051-2/+2
|
* ansijsg2021-03-054-53/+20
|
* ansijsg2021-03-052-88/+42
|
* Fix some heap over-read in logging in PPTP protocol handler.yasuoka2021-03-052-18/+17
|
* Stop abusing display blocks under the authors section in order toanton2021-03-051-4/+4
| | | | | | | | respect literal line breaks. This has the unwanted side effect of rendering the authors section using a monospace font over at man.openbsd.org. Instead use br macros to force line breaks. With help from and ok jmc@
* deregisterjsg2021-03-055-32/+32
|
* ansijsg2021-03-058-202/+78
|
* pass the uint64_t dst ethernet address from ether_input to bridges.dlg2021-03-056-29/+26
| | | | tested on amd64 and sparc64.
* ansijsg2021-03-051-3/+2
|
* ansijsg2021-03-051-9/+5
|
* work with 64bit ethernet addresses in ether_input().dlg2021-03-051-9/+10
| | | | | | | | | | | this applies the tricks with addresses from veb and etherbridge code to the normal ethernet input processing. it basically loads the destination address from the packet and the interface ethernet address into uint64_ts for comparison. tested by hrvoje popovski and chris cappuccio tested here on amd64, arm64, and sparc64 ok claudio@ jmatthew@
* Improve readability of softc accesses.patrick2021-03-051-13/+20
|
* Introduce an IOVA allocator instead of mapping pages 1:1. Mapping pages 1:1patrick2021-03-052-106/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | obviously reduces the overhead of IOVA allocation, but instead you have the problem of doubly mapped pages, and making sure a page is only unmapped once the last user is gone. My initial attempt, modeled after apldart(4), calls the allocator for each segment. Unfortunately this introduces a performance penalty which reduces performance from around 700 Mbit/s to about 20 Mbit/s, or even less, in a simple single stream tcpbench scenario. Most mbufs from userland seem to have at least 3 segments. Calculating the needed IOVA space upfront reduces this penalty. IOVA allocation overhead could be reduced once and for all if it is possible to reserve IOVA during bus_dmamap_create(9), as it is only called upon creation and basically never for each DMA cycle. This needs some more thought. With this we now put the pressure on the PTED pools instead. Additionally, but not part of this diff, percpu pools for the PTEDs seem to reduce the overhead for that single stream tcpbench scenario to 0.3%. Right now this means we're hitting a different bottleneck, not related to the IOMMU. The next bottleneck will be discovered once forwarding is unlocked. Though it should be possible to benchmark the current implementation, and different designs, using a cycles counter. With IOVA allocation it's not easily possible to correlate memory passed to bus_dmamem_map(9) with memory passed to bus_dmamap_load(9). So far my code try to use the same cachability attributes as the kenrel uses for its userland mappings. For the devices we support, there seems to be no need so far. If this ever gives us any trouble in the feature, I'll have a look and fix it. While drivers should call bus_dmamap_unload(9) before bus_dmamap_destroy(9), the API explicitly states that bus_dmamap_destroy(9) should unload the map if it is still loaded. Hence we need to do exactly that. I actually have found one network driver which behaves that way, and the developer intends to change the network driver's behaviour.
* Extend the commented code that shows which additional mappings are needed,patrick2021-03-051-6/+24
| | | | | | | or which regions need to be reserved. As it turns out, a region we should not map is the PCIe address space. Making a PCIe device try to do DMA to an address in PCIe address space will obviously not make its way to SMMU and host memory. We'll probably have to add an API for that.
* Remove -g from CFLAGS. This was accidentally added with the last commit.tobhe2021-03-041-2/+2
|
* Derive config netmask from address pool if not explicitly configured.tobhe2021-03-042-4/+26
| | | | ok markus@
* Turns out the cores on Apple's M1 SoC only support 8-bit ASIDs.kettenis2021-03-041-52/+57
| | | | | | | | | | | Thank you Apple (not)! Add an initial attempt to support such systems. This isn't good enough since the kernel will hang once you create more than 127 processes. But it makes things work reasonably well until you reach that limit which is good enough to build things on the machine itself. ok patrick@
* Print feature that indicates a CPU core supports 16-bit ASIDs.kettenis2021-03-041-1/+13
| | | | ok patrick@
* new sentence, new line;jmc2021-03-041-9/+9
|
* Tweak whitespace and adjust prototypes.visa2021-03-041-23/+21
|
* Combine octeon_pcibusvar.h into octeon_pcibus.c to reduce scatter.visa2021-03-042-56/+9
|
* Add two error checks for strdup for consistency.tb2021-03-042-6/+8
| | | | ok claudio
* typo in commenttb2021-03-041-2/+2
|
* Update clock interrupt count atomically.visa2021-03-041-2/+4
| | | | | This avoids errors that can arise when multiple cores update the variable at the same time.
* Last commit was done from a non-clean tree. Revert one line that brokeclaudio2021-03-041-2/+2
| | | | everything. Oups.
* Update TAL files to offical versions that include a https:// URL for theclaudio2021-03-043-0/+3
| | | | | | trust anchor. rpki-client will then use the https:// URL first and fall back to rsync if the https request failed. OK job@ tb@
* Unify the out of memory errors here as well.claudio2021-03-041-6/+6
|
* Use the same way to error out in out of memory situation.claudio2021-03-043-25/+24
| | | | | | | Just use 'err(1, NULL);' there is no need to include the type of function that failed since it is still impossible to locate the right call. Just use a debugger in that case. OK tb@ deraadt@
* an -> andtb2021-03-041-2/+2
|
* zap whitespace on three linestb2021-03-041-4/+4
|
* Replace NOTREACHED with actuall errx() calls. I managed to return fromclaudio2021-03-041-4/+4
| | | | | the proc_xyz() function at least in two occastions and it is not that trivial to realize what goes wrong.
* Remove NOTREACHED marker, it should be obvious when the code is:claudio2021-03-041-2/+1
| | | | | exit(rc); /* NOTREACHED */
* Simply ignore errors from tls_close(). ftp(1) does the same and it seemsclaudio2021-03-041-5/+2
| | | | | | | too many servers out there fail to properly close the TLS session which results in unneccessary warnings like TLS close: EOF without close notify Result of a discussion with job@ and tb@
* Implement a https client as a sub-process for rpki-client. This code willclaudio2021-03-045-40/+1512
| | | | | | | | be used to fetch TA certs and later on for RRDP. Kind of unreached for now since the default TAL files don't include https URI. The http client is fully asynchronous and can handle multiple downloads at the same time. This code was based on the http client in ftp(1). OK tb@, job@
* Add sys/queue.h to the include list since imsg.h needs it. Currentlyclaudio2021-03-041-1/+2
| | | | | net/route.h pulls this is as a side-effect. OK krw@
* warn about proper usage of Lst_Destroy.espie2021-03-041-1/+6
| | | | as noticed by jsg@
* better if I commit the version which actually includes the header ;)espie2021-03-041-1/+2
|
* somehow I forgot to add copyright and to include the right prototypes.espie2021-03-042-0/+50
| | | | No actual code change (checked with cmp)
* Merge issignal() and CURSIG() in preparation for turning it mp-safe.mpi2021-03-044-29/+26
| | | | | | This makes appear some redundant & racy checks. ok semarie@