Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src-draft/trunk]: src Changes from the phil-wifi branch.



details:   https://anonhg.NetBSD.org/src-all/rev/45bd0edb1722
branches:  trunk
changeset: 375395:45bd0edb1722
user:      Martin Husemann <martin%NetBSD.org@localhost>
date:      Sun Apr 26 13:13:40 2020 +0200

description:
Changes from the phil-wifi branch.

Import FreeBSD subversion revision 335773 of sys/net80211 and
a few helpers, adapt to NetBSD.

diffstat:

 sbin/ifconfig/ieee80211.c                   |     2 +-
 sys/arch/amd64/conf/SEVEN_WIFI              |    40 +
 sys/arch/amd64/conf/TESTWIFI                |  1376 +++++++
 sys/compat/common/ieee80211_20.c            |     6 +-
 sys/dev/cardbus/if_athn_cardbus.c           |     1 +
 sys/dev/ic/arn5008.c                        |     2 +-
 sys/dev/ic/arn9380.c                        |     2 +-
 sys/dev/ic/athn.c                           |     2 +
 sys/dev/pci/if_athn_pci.c                   |     9 +-
 sys/dev/usb/if_athn_usb.c                   |    56 +-
 sys/dev/usb/if_urtwn.c                      |  1511 ++++++--
 sys/dev/usb/if_urtwnvar.h                   |     7 +-
 sys/kern/files.kern                         |     1 +
 sys/kern/subr_sbuf.c                        |   913 +++++
 sys/net/if_media.h                          |     4 +
 sys/net80211/CHANGES                        |     9 +
 sys/net80211/_ieee80211.h                   |   585 ++-
 sys/net80211/files.net80211                 |    26 +
 sys/net80211/ieee80211.c                    |  2953 ++++++++++++---
 sys/net80211/ieee80211.h                    |  1248 +++++-
 sys/net80211/ieee80211_acl.c                |   152 +-
 sys/net80211/ieee80211_action.c             |   303 +
 sys/net80211/ieee80211_action.h             |    56 +
 sys/net80211/ieee80211_adhoc.c              |  1056 +++++
 sys/net80211/ieee80211_adhoc.h              |    39 +
 sys/net80211/ieee80211_ageq.c               |   282 +
 sys/net80211/ieee80211_ageq.h               |    58 +
 sys/net80211/ieee80211_alq.c                |   206 +
 sys/net80211/ieee80211_alq.h                |    63 +
 sys/net80211/ieee80211_amrr.c               |   474 ++-
 sys/net80211/ieee80211_amrr.h               |    17 +-
 sys/net80211/ieee80211_crypto.c             |   701 ++-
 sys/net80211/ieee80211_crypto.h             |   194 +-
 sys/net80211/ieee80211_crypto_ccmp.c        |   209 +-
 sys/net80211/ieee80211_crypto_none.c        |    86 +-
 sys/net80211/ieee80211_crypto_tkip.c        |   464 +-
 sys/net80211/ieee80211_crypto_wep.c         |   213 +-
 sys/net80211/ieee80211_ddb.c                |   914 +++++
 sys/net80211/ieee80211_dfs.c                |   463 ++
 sys/net80211/ieee80211_dfs.h                |    67 +
 sys/net80211/ieee80211_hostap.c             |  2481 +++++++++++++
 sys/net80211/ieee80211_hostap.h             |    45 +
 sys/net80211/ieee80211_ht.c                 |  3417 +++++++++++++++++++
 sys/net80211/ieee80211_ht.h                 |   236 +
 sys/net80211/ieee80211_hwmp.c               |  2111 +++++++++++
 sys/net80211/ieee80211_input.c              |  3498 +++---------------
 sys/net80211/ieee80211_input.h              |   326 +
 sys/net80211/ieee80211_ioctl.c              |  4841 ++++++++++++++++----------
 sys/net80211/ieee80211_ioctl.h              |   861 +++-
 sys/net80211/ieee80211_mesh.c               |  3674 ++++++++++++++++++++
 sys/net80211/ieee80211_mesh.h               |   609 +++
 sys/net80211/ieee80211_monitor.c            |   157 +
 sys/net80211/ieee80211_monitor.h            |    39 +
 sys/net80211/ieee80211_netbsd.c             |  1590 ++++++--
 sys/net80211/ieee80211_netbsd.h             |   935 ++++-
 sys/net80211/ieee80211_node.c               |  3784 ++++++++++++--------
 sys/net80211/ieee80211_node.h               |   679 ++-
 sys/net80211/ieee80211_output.c             |  4210 ++++++++++++++++------
 sys/net80211/ieee80211_phy.c                |   644 +++
 sys/net80211/ieee80211_phy.h                |   275 +
 sys/net80211/ieee80211_power.c              |   682 +++
 sys/net80211/ieee80211_power.h              |    91 +
 sys/net80211/ieee80211_proto.c              |  2459 ++++++++++---
 sys/net80211/ieee80211_proto.h              |   423 +-
 sys/net80211/ieee80211_radiotap.c           |   401 ++
 sys/net80211/ieee80211_radiotap.h           |   146 +-
 sys/net80211/ieee80211_ratectl.c            |   181 +
 sys/net80211/ieee80211_ratectl.h            |   173 +
 sys/net80211/ieee80211_ratectl_none.c       |   145 +
 sys/net80211/ieee80211_regdomain.c          |   472 ++
 sys/net80211/ieee80211_regdomain.h          |   297 +
 sys/net80211/ieee80211_rssadapt.c           |   592 +-
 sys/net80211/ieee80211_rssadapt.h           |    81 +-
 sys/net80211/ieee80211_scan.c               |   722 ++++
 sys/net80211/ieee80211_scan.h               |   353 +
 sys/net80211/ieee80211_scan_sta.c           |  2025 +++++++++++
 sys/net80211/ieee80211_scan_sw.c            |  1044 +++++
 sys/net80211/ieee80211_scan_sw.h            |    34 +
 sys/net80211/ieee80211_sta.c                |  2043 +++++++++++
 sys/net80211/ieee80211_sta.h                |    46 +
 sys/net80211/ieee80211_superg.c             |  1086 ++++++
 sys/net80211/ieee80211_superg.h             |   159 +
 sys/net80211/ieee80211_sysctl.h             |     2 +-
 sys/net80211/ieee80211_tdma.c               |   850 ++++
 sys/net80211/ieee80211_tdma.h               |   107 +
 sys/net80211/ieee80211_var.h                |  1096 ++++-
 sys/net80211/ieee80211_vht.c                |   872 ++++
 sys/net80211/ieee80211_vht.h                |    70 +
 sys/net80211/ieee80211_wds.c                |   835 ++++
 sys/net80211/ieee80211_wds.h                |    43 +
 sys/net80211/ieee80211_xauth.c              |    43 +-
 sys/rump/librump/rumpkern/Makefile.rumpkern |     1 +
 sys/rump/net/lib/libnet80211/Makefile       |    48 +-
 sys/sys/compat_stub.h                       |     4 +-
 sys/sys/mbuf.h                              |    29 +-
 sys/sys/sbuf.h                              |   120 +
 96 files changed, 54707 insertions(+), 12250 deletions(-)

diffs (truncated from 75607 to 300 lines):

diff -r be355706b32b -r 45bd0edb1722 sbin/ifconfig/ieee80211.c
--- a/sbin/ifconfig/ieee80211.c Thu Oct 08 21:11:04 2020 +0200
+++ b/sbin/ifconfig/ieee80211.c Sun Apr 26 13:13:40 2020 +0200
@@ -1288,7 +1288,7 @@ iename(int elemid)
        case IEEE80211_ELEMID_TPCREQ:   return " TPCREQ";
        case IEEE80211_ELEMID_TPCREP:   return " TPCREP";
        case IEEE80211_ELEMID_SUPPCHAN: return " SUPPCHAN";
-       case IEEE80211_ELEMID_CHANSWITCHANN:return " CSA";
+       case IEEE80211_ELEMID_CSA:      return " CSA";
        case IEEE80211_ELEMID_MEASREQ:  return " MEASREQ";
        case IEEE80211_ELEMID_MEASREP:  return " MEASREP";
        case IEEE80211_ELEMID_QUIET:    return " QUIET";
diff -r be355706b32b -r 45bd0edb1722 sys/arch/amd64/conf/SEVEN_WIFI
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/amd64/conf/SEVEN_WIFI    Sun Apr 26 13:13:40 2020 +0200
@@ -0,0 +1,40 @@
+# Test kernel for martins main wifi test machine
+
+include         "arch/amd64/conf/GENERIC"
+
+# Diagnostic/debugging support options
+options        DIAGNOSTIC      # inexpensive kernel consistency checks
+                               # XXX to be commented out on release branch
+options        DEBUG           # expensive debugging checks/support
+options        LOCKDEBUG       # expensive locking checks/support
+
+options                URTWN_DEBUG     # debug the urtwn driver
+options                IEEE80211_DEBUG # debug 802.11 code
+
+no nouveau*    # takes too long to load firmware/init for LOCKDEBUG
+
+no an*
+no ath*
+no athn*
+no atw*
+no awi*
+no bwi*
+no bwfm*
+no ipw*
+no iwi*
+no iwm*
+no iwn*
+no malo*
+no ral*
+no rtw*
+no rtwn*
+no wi*
+no wpi*
+no atu*
+no otus*
+no rum*
+no run*
+no upgt*
+no ural*
+no urtw*
+no zyd*
diff -r be355706b32b -r 45bd0edb1722 sys/arch/amd64/conf/TESTWIFI
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/amd64/conf/TESTWIFI      Sun Apr 26 13:13:40 2020 +0200
@@ -0,0 +1,1376 @@
+# $NetBSD$
+#
+# GENERIC machine description file
+#
+# This machine description file is used to generate the default NetBSD
+# kernel.  The generic kernel does not include all options, subsystems
+# and device drivers, but should be useful for most applications.
+#
+# The machine description file can be customised for your specific
+# machine to reduce the kernel size and improve its performance.
+#
+# For further information on compiling NetBSD kernels, see the config(8)
+# man page.
+#
+# For further information on hardware support for this architecture, see
+# the intro(4) man page.  For further information about kernel options
+# for this architecture, see the options(4) man page.  For an explanation
+# of each device driver in this file see the section 4 man page for the
+# device.
+
+include        "arch/amd64/conf/std.amd64"
+
+options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
+
+#ident         "GENERIC-$Revision$"
+
+maxusers       64              # estimated number of users
+
+# delay between "rebooting ..." message and hardware reset, in milliseconds
+#options       CPURESET_DELAY=2000
+
+# This option allows you to force a serial console at the specified
+# I/O address.   see console(4) for details.
+#options       CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600
+#      you don't want the option below ON iff you are using the
+#      serial console option of the new boot strap code.
+#options       CONS_OVERRIDE   # Always use above! independent of boot info
+
+# The following options override the memory sizes passed in from the boot
+# block.  Use them *only* if the boot block is unable to determine the correct
+# values.  Note that the BIOS may *correctly* report less than 640k of base
+# memory if the extended BIOS data area is located at the top of base memory
+# (as is the case on most recent systems).
+#options       REALBASEMEM=639         # size of base memory (in KB)
+#options       REALEXTMEM=15360        # size of extended memory (in KB)
+
+# The following options limit the overall size of physical memory
+# and/or the maximum address used by the system.
+# Contrary to REALBASEMEM and REALEXTMEM, they still use the BIOS memory map
+# and can deal with holes in the memory layout.
+#options       PHYSMEM_MAX_SIZE=64     # max size of physical memory (in MB)
+#options       PHYSMEM_MAX_ADDR=2048   # don't use memory above this (in MB)
+
+# Standard system options
+
+options        INSECURE        # disable kernel security levels - X needs this
+
+options        RTC_OFFSET=0    # hardware clock is this many mins. west of GMT
+options        NTP             # NTP phase/frequency locked loop
+
+options        KTRACE          # system call tracing via ktrace(1)
+
+options        CPU_UCODE       # cpu ucode loading support
+
+# Note: SysV IPC parameters could be changed dynamically, see sysctl(8).
+options        SYSVMSG         # System V-like message queues
+options        SYSVSEM         # System V-like semaphores
+options        SYSVSHM         # System V-like memory sharing
+
+options        MODULAR         # new style module(7) framework
+options        MODULAR_DEFAULT_AUTOLOAD
+options        USERCONF        # userconf(4) support
+#options       PIPE_SOCKETPAIR # smaller, but slower pipe(2)
+options        SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel
+
+# CPU-related options
+#options       USER_LDT        # user-settable LDT; used by WINE
+options        SVS             # Separate Virtual Space
+makeoptions    SPECTRE_V2_GCC_MITIGATION=1     # GCC Spectre variant 2
+                                               # migitation
+options        SPECTRE_V2_GCC_MITIGATION
+
+# CPU features
+acpicpu*       at cpu?         # ACPI CPU (including frequency scaling)
+coretemp*      at cpu?         # Intel on-die thermal sensor
+est0           at cpu0         # Intel Enhanced SpeedStep (non-ACPI)
+#odcm0         at cpu0         # On-demand clock modulation
+powernow0      at cpu0         # AMD PowerNow! and Cool'n'Quiet (non-ACPI)
+vmt0           at cpu0         # VMware Tools
+
+options        PMC             # performance-monitoring counters support
+
+# Alternate buffer queue strategies for better responsiveness under high
+# disk I/O load.
+#options       BUFQ_READPRIO
+options        BUFQ_PRIOCSCAN
+
+# Diagnostic/debugging support options
+options        DIAGNOSTIC      # inexpensive kernel consistency checks
+                               # XXX to be commented out on release branch
+options        DEBUG           # expensive debugging checks/support
+options        LOCKDEBUG       # expensive locking checks/support
+options                URTWN_DEBUG     # debug the urtwn driver
+options                IEEE80211_DEBUG # debug 802.11 code
+
+#
+# Because gcc omits the frame pointer for any -O level, the line below
+# is needed to make backtraces in DDB work.
+#
+makeoptions    COPTS="-O2 -fno-omit-frame-pointer"
+options        DDB             # in-kernel debugger
+#options       DDB_COMMANDONENTER="bt" # execute command when ddb is entered
+options        DDB_ONPANIC=1   # see also sysctl(7): `ddb.onpanic'
+options        DDB_HISTORY_SIZE=512    # enable history editing in DDB
+options        KGDB            # remote debugger
+#options       KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
+makeoptions    DEBUG="-g"      # compile full symbol table for CTF
+#options       SYSCALL_STATS   # per syscall counts
+#options       SYSCALL_TIMES   # per syscall times
+#options       SYSCALL_TIMES_HASCOUNTER        # use 'broken' rdtsc (soekris)
+options        KDTRACE_HOOKS   # kernel DTrace hooks
+
+# Compatibility options
+# x86_64 never shipped with a.out binaries; the two options below are
+# only relevant to 32-bit i386 binaries
+#options       EXEC_AOUT       # required by binaries from before 1.5
+#options       COMPAT_NOMID    # NetBSD 0.8, 386BSD, and BSDI
+
+# NetBSD backward compatibility. Support goes from COMPAT_15 up until
+# the latest release. Note that really old compat (< COMPAT_16) is only
+# useful for 32-bit i386 binaries.
+include        "conf/compat_netbsd15.config"
+
+#options       COMPAT_386BSD_MBRPART # recognize old partition ID
+
+options        COMPAT_OSSAUDIO
+options        COMPAT_NETBSD32
+#options       COMPAT_LINUX
+#options       COMPAT_LINUX32  # req. COMPAT_LINUX and COMPAT_NETBSD32
+options        EXEC_ELF32
+
+# Wedge support
+options        DKWEDGE_AUTODISCOVER    # Automatically add dk(4) instances
+options        DKWEDGE_METHOD_GPT      # Supports GPT partitions as wedges
+#options       DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges
+#options       DKWEDGE_METHOD_MBR      # Support MBR partitions as wedges
+#options       DKWEDGE_METHOD_APPLE    # Support Apple partitions as wedges
+#options       DKWEDGE_METHOD_RDB      # Support RDB partitions as wedges
+
+# File systems
+file-system    FFS             # UFS
+file-system    MFS             # memory file system
+file-system    NFS             # Network File System client
+file-system    TMPFS           # Efficient memory file-system
+file-system    EXT2FS          # second extended file system (linux)
+#file-system   LFS             # log-structured file system
+#file-system   NTFS            # Windows/NT file system (experimental)
+file-system    CD9660          # ISO 9660 + Rock Ridge file system
+file-system    MSDOSFS         # MS-DOS file system
+file-system    FDESC           # /dev/fd
+file-system    KERNFS          # /kern
+file-system    NULLFS          # loopback file system
+file-system    OVERLAY         # overlay file system
+file-system    PROCFS          # /proc
+file-system    PUFFS           # Userspace file systems (e.g. ntfs-3g & sshfs)
+#file-system   SMBFS           # experimental - CIFS; also needs nsmb (below)
+file-system    UMAPFS          # NULLFS + uid and gid remapping
+file-system    UNION           # union file system
+#file-system   CODA            # Coda File System; also needs vcoda (below)
+file-system    PTYFS           # /dev/ptm support
+#file-system   UDF             # experimental - OSTA UDF CD/DVD file-system
+#file-system   HFS             # experimental - Apple HFS+ (read-only)
+#file-system   NILFS           # experimental - NTT's NiLFS(2)
+#file-system   AUTOFS          # experimental - Automounter Filesystem
+
+# File system options
+# ffs
+options        QUOTA           # legacy UFS quotas
+options        QUOTA2          # new, in-filesystem UFS quotas
+options        FFS_EI          # FFS Endian Independent support
+options        WAPBL           # File system journaling support
+# Note that UFS_DIRHASH is suspected of causing kernel memory corruption.
+# It is not recommended for general use.
+#options       UFS_DIRHASH     # UFS Large Directory Hashing - Experimental
+#options       FFS_NO_SNAPSHOT # No FFS snapshot support
+options        UFS_EXTATTR     # Extended attribute support for UFS1
+# ext2fs
+#options       EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
+                               # immutable) behave as system flags.
+# other
+#options       DISKLABEL_EI    # disklabel Endian Independent support
+options        NFSSERVER       # Network File System server
+
+# Networking options
+#options       GATEWAY         # packet forwarding
+options        INET            # IP + ICMP + TCP + UDP
+#options       INET6           # IPV6
+options        IPSEC           # IP security
+#options       IPSEC_DEBUG     # debug for IP security
+#options       MPLS            # MultiProtocol Label Switching (needs mpls)
+#options       MROUTING        # IP multicast routing
+#options       PIM             # Protocol Independent Multicast
+options        NETATALK        # AppleTalk networking protocols
+#options       CAN             # Controller Area Network protocol
+#options       PPP_BSDCOMP     # BSD-Compress compression support for PPP
+#options       PPP_DEFLATE     # Deflate compression support for PPP
+#options       PPP_FILTER      # Active filter support for PPP (requires bpf)
+options        IPFILTER_LOG    # ipmon(8) log support
+options        IPFILTER_LOOKUP # ippool(8) support
+options        IPFILTER_COMPAT # Compat for IP-Filter
+#options       IPFILTER_DEFAULT_BLOCK  # block all packets by default
+#options       TCP_DEBUG       # Record last TCP_NDEBUG packets with SO_DEBUG
+#options       TCP_SIGNATURE   # Enable RFC-2385 TCP md5 signatures
+
+#options       ALTQ            # Manipulate network interfaces' output queues
+#options       ALTQ_BLUE       # Stochastic Fair Blue
+#options       ALTQ_CBQ        # Class-Based Queueing
+#options       ALTQ_CDNR       # Diffserv Traffic Conditioner
+#options       ALTQ_FIFOQ      # First-In First-Out Queue
+#options       ALTQ_FLOWVALVE  # RED/flow-valve (red-penalty-box)
+#options       ALTQ_HFSC       # Hierarchical Fair Service Curve
+#options       ALTQ_LOCALQ     # Local queueing discipline
+#options       ALTQ_PRIQ       # Priority Queueing
+#options       ALTQ_RED        # Random Early Detection
+#options       ALTQ_RIO        # RED with IN/OUT
+#options       ALTQ_WFQ        # Weighted Fair Queueing
+
+# These options enable verbose messages for several subsystems.
+# Warning, these may compile large string tables into the kernel!
+#options       ACPIVERBOSE     # verbose ACPI configuration messages
+#options       MIIVERBOSE      # verbose PHY autoconfig messages
+#options       PCIVERBOSE      # verbose PCI device autoconfig messages
+#options       PCI_CONFIG_DUMP # verbosely dump PCI config space
+#options       PCMCIAVERBOSE   # verbose PCMCIA configuration messages
+options        SCSIVERBOSE     # human readable SCSI error messages
+options        USBVERBOSE      # verbose USB device autoconfig messages
+#options       HDAUDIOVERBOSE  # verbose HDAUDIO driver messages
+
+# extra USB options?
+options         USBDEBUG



Home | Main Index | Thread Index | Old Index