1. 22 Oct, 2021 13 commits
    • Gleb Smirnoff's avatar
      Retire synchronous PPP kernel driver sppp(4). · 6aae3517
      Gleb Smirnoff authored
      The last two drivers that required sppp are cp(4) and ce(4).
      These devices are still produced and can be purchased
      at Cronyx <http://cronyx.ru/hardware/wan.html>.
      Since Roman Kurakin <rik@FreeBSD.org> has quit them, they no
      longer support FreeBSD officially.  Later they have dropped
      support for Linux drivers to.  As of mid-2020 they don't even
      have a developer to maintain their Windows driver.  However,
      their support verbally told me that they could provide aid to
      a FreeBSD developer with documentaion in case if there appears
      a new customer for their devices.
      These drivers have a feature to not use sppp(4) and create an
      interface, but instead expose the device as netgraph(4) node.
      Then, you can attach ng_ppp(4) with help of ports/net/mpd5 on
      top of the node and get your synchronous PPP.  Alternatively
      you can attach ng_frame_relay(4) or ng_cisco(4) for HDLC.
      Actually, last time I used cp(4) back in 2004, using netgraph(4)
      instead of sppp(4) was already the right way to do.
      Thus, remove the sppp(4) related part of the drivers and enable
      by default the negraph(4) part.  Further maintenance of these
      drivers in the tree shouldn't be a big deal.
      While doing that, remove some cruft and enable cp(4) compilation
      on amd64.  The ce(4) for some unknown reason marks its internal
      DDK functions with __attribute__ fastcall, which most likely is
      safe to remove, but without hardware I'm not going to do that, so
      ce(4) remains i386-only.
      Reviewed by:		emaste, imp, donner
      Differential Revision:	https://reviews.freebsd.org/D32590
      See also:		https://reviews.freebsd.org/D23928
    • Leandro Lupori's avatar
      powerpc64: tell kernel when radix is not available · a23e18ea
      Leandro Lupori authored
      If CAS detects that radix is not supported, set radix_mmu to 0
      to avoid the kernel trying to use it and panic.
      MFC after:	2 weeks
      Sponsored by:	Instituto de Pesquisas Eldorado (eldorado.org.br)
    • Mark Johnston's avatar
      vm_page: Break reservations to handle noobj allocations · d7acbe48
      Mark Johnston authored
      vm_reserv_reclaim_*() will release pages to the default freepool, not
      the direct freepool from which noobj allocations are drawn.  But if both
      pools are empty, the noobj allocator variants must break reservations to
      make progress.
      Reported by:	cy
      Reviewed by:	kib (previous version)
      Fixes:	b498f71b ("vm_page: Add a new page allocator interface for unnamed pages")
      Sponsored by:	The FreeBSD Foundation
      Differential Revision:	https://reviews.freebsd.org/D32592
    • Randall Stewart's avatar
      tcp: Add hystart-plus to cc_newreno and rack. · 4e4c84f8
      Randall Stewart authored
      TCP Hystart draft version -03:
      Is a new version of hystart that allows one to carefully exit slow start if the RTT
      spikes too much. The newer version has a slower-slow-start so to speak that then
      kicks in for five round trips. To see if you exited too early, if not into congestion avoidance.
      This commit will add that feature to our newreno CC and add the needed bits in rack to
      be able to enable it.
      Reviewed by: tuexen
      Sponsored by: Netflix Inc.
      Differential Revision:	https://reviews.freebsd.org/D32373
    • Peter Grehan's avatar
      igc: correctly update RCTL when changing multicast filters. · 5a3eb620
      Peter Grehan authored
      Fix clearing of bits in RCTL for the non-bpf/non-allmulti case.
      Update RCTL after modifying the multicast filter registers as per
      the Linux driver.
      This fixes LACP on igc interfaces, where incoming LACP multicasti
      control packets were being dropped.
      Reviewed by:	kbowling
      Obtained from:	Rubicon Communications, LLC ("Netgate")
      MFC after:	3 days
      Differential Revision: https://reviews.freebsd.org/D32574
    • Bjoern A. Zeeb's avatar
      net80211: correct input_sta length checks and control frame handling · 3dc7a189
      Bjoern A. Zeeb authored
      Correct input_sta "assertion" checks.  CTS/ACK CTRL frames are shorter
      then sizeof(struct ieee80211_frame_min) and were thus running into the
      is_rx_tooshort error case.
      Use ieee80211_anyhdrsize() to handle this better but make sure we do
      at least have the first 2 octets needed for that.
      While here move the safety checks before any code which may not obey
      them later, just for good style.
      The non-scanning check further down assumes a frame format also not
      matching control frames.  For now skip the checks for control frames
      which allows us to deal with some of them at least now.
      Sponsored by:	The FreeBSD Foundation
      Obtained from:	20210906 wireless v0.91 code drop
      MFC after:	3 days
      Reviewed by:	adrian
      Differential Revision: https://reviews.freebsd.org/D32238
    • Bjoern A. Zeeb's avatar
      net80211/drivers: improve ieee80211_rx_stats for band · 9a669553
      Bjoern A. Zeeb authored
      While IEEE80211_R_BAND was defined, there was no place to store the
      band.  Add a field for that, adjust ieee80211_lookup_channel_rxstatus()
      to require it, and update drivers passing "R_{FREQ|IEEE}" in already to
      provide the band as well.  For the moment keep the fall-back code
      requiring all three fields.
      Sponsored by:	The FreeBSD Foundation
      MFC after:	3 days
      Reviewed by:	adrian
      Differential Revision: https://reviews.freebsd.org/D30662
    • Kristof Provost's avatar
      pf tests: test NAT-ed ICMP errors · 30276ef1
      Kristof Provost authored
      Ensure that the ICMP error is returned with the correct
      source and destination addresses.
      MFC after:	3 weeks
      Sponsored by:	Rubicon Communications, LLC ("Netgate")
      Differential Revision:	https://reviews.freebsd.org/D32572
    • Luiz Otavio O Souza's avatar
      pf: ensure we have the correct source/destination IP address in ICMP errors · ab238f14
      Luiz Otavio O Souza authored
      When we route-to a packet that later turns out to not fit in the
      outbound interface MTU we generate an ICMP error.
      However, if we've already changed those (i.e. we've passed through a NAT
      rule) we have to undo the transformation first.
      Obtained from:	pfSense
      MFC after:	3 weeks
      Sponsored by:	Rubicon Communications, LLC ("Netgate")
      Differential Revision:	https://reviews.freebsd.org/D32571
    • Elliott Mitchell's avatar
      RELNOTES: Fix KMSAN entry · cfd8fda1
      Elliott Mitchell authored
      The lead digit was lost in 05eba8e0 making it impossible to find the
      The two subsequent RELNOTES commits gave one less digit of the commit
      hash, which is what `git rev-parse --short` thinks the minimal length is,
      but keep them to align with other entries.
      Fixes:		05eba8e0
      Differential Revision:	https://reviews.freebsd.org/D32595
    • Philip Paeps's avatar
      contrib/tzdata: import tzdata 2021e · b02df232
      Philip Paeps authored
      Merge commit 'c66f7aac'
      Changes: https://github.com/eggert/tz/blob/2021e/NEWS
      MFC after:	3 days
    • Philip Paeps's avatar
      Import tzdata 2021e · c66f7aac
      Philip Paeps authored
    • Li-Wen Hsu's avatar
      Document my doc commit bit history · 73f8667e
      Li-Wen Hsu authored
      Reminded by:	ygy
  2. 21 Oct, 2021 24 commits
  3. 20 Oct, 2021 3 commits
    • Roy Marples's avatar
      net: Allow binding of unspecified address without address existance · 5c534010
      Roy Marples authored
      Previously in_pcbbind_setup returned EADDRNOTAVAIL for empty
      V_in_ifaddrhead (i.e., no IPv4 addresses configured) and in6_pcbbind
      did the same for empty V_in6_ifaddrhead (no IPv6 addresses).
      An equivalent test has existed since 4.4-Lite.  It was presumably done
      to avoid extra work (assuming the address isn't going to be found
      In normal system operation *_ifaddrhead will not be empty: they will
      at least have the loopback address(es).  In practice no work will be
      Further, this case caused net/dhcpd to fail when run early in boot
      before assignment of any addresses.  It should be possible to bind the
      unspecified address even if no addresses have been configured yet, so
      just remove the tests.
      The now-removed "XXX broken" comments were added in 59562606,
      which converted the ifaddr lists to TAILQs.  As far as I (emaste) can
      tell the brokenness is the issue described above, not some aspect of
      the TAILQ conversion.
      PR:		253166
      Reviewed by:	ae, bz, donner, emaste, glebius
      MFC after:	1 month
      Differential Revision:	https://reviews.freebsd.org/D32563
    • youzhongyang's avatar
      Skip snapshot in zfs_iter_mounted() · ec64fdb9
      youzhongyang authored
      The intention of the zfs_iter_mounted() is to traverse the dataset
      and its descendants, not the snapshots. The current code can cause
      a mounted snapshot to be included and thus zfs_open() on the snapshot
      with ZFS_TYPE_FILESYSTEM would print confusing message such as "cannot
      open 'rpool/fs@snap': snapshot delimiter '@' is not expected here".
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Signed-off-by: default avatarYouzhong Yang <yyang@mathworks.com>
      Closes #12447
      Closes #12448 
    • Tony Hutter's avatar
      vdev_id: Fix enclosure_symlinks feature · 1886cdfc
      Tony Hutter authored
      The vdev_id.conf "enclosure_symlinks" option persistently creates
      and maps /dev/by-enclosure symlinks to dynamic /dev/sg* devices.
      This patch fixes two issues:
      1. The enclosure_symlinks feature was accidentally broken in:
         vdev_id: Support daisy-chained JBODs in multipath mode
      2. Even when working, the feature numbered the enclosure
         sequentially rather than by HBA port number.  That meant that
         if a port was down or didn't appear in sysfs, then the
         enclosure_sumlinks numbers would be numbered wrong.
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Reviewed-by: default avatarArshad Hussain <arshad.hussain@aeoncomputing.com>
      Signed-off-by: default avatarTony Hutter <hutter2@llnl.gov>
      Closes #12660