#
09164454 |
| 04-Jul-2024 |
Zhenlei Huang <zlei@FreeBSD.org> |
ethernet: Retire M_HASFCS
The mbuf flag M_HASFCS was introduced for drivers to indicate the net stack that packets include FCS (Frame Check Sequence). In principle, to be efficient, FCS should alway
ethernet: Retire M_HASFCS
The mbuf flag M_HASFCS was introduced for drivers to indicate the net stack that packets include FCS (Frame Check Sequence). In principle, to be efficient, FCS should always be processed by hardware, firmware, or at last sort the driver. Well, Ethernet specifies that damaged frames should be discarded, thus only good ones will be passed up to the net stack, then it makes no senses for the net stack to see FCS just to trim it.
The last consumer of the flag M_HASFCS has been removed since change [1]. It is time to retire it.
1. 105a4f7b3cb6 ng_atmllc: remove
Reviewed by: kp MFC after: never Differential Revision: https://reviews.freebsd.org/D42391
show more ...
|
Revision tags: release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
3878bbf1 |
| 04-Nov-2023 |
Ronald Klop <ronald@FreeBSD.org> |
Teach if_smsc to get MAC from bootargs.
Some Raspberry Pi pass smsc95xx.macaddr=XX:XX:XX:XX:XX:XX as bootargs. Use this if no ethernet address is found in an EEPROM. As last resort fall back to ethe
Teach if_smsc to get MAC from bootargs.
Some Raspberry Pi pass smsc95xx.macaddr=XX:XX:XX:XX:XX:XX as bootargs. Use this if no ethernet address is found in an EEPROM. As last resort fall back to ether_gen_addr() instead of random MAC.
PR: 274092 Reported by: Patrick M. Hausen (via ML) Reviewed by: imp, karels, zlei Tested by: Patrick M. Hausen Approved by: karels MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D42463
show more ...
|
#
838c8c47 |
| 23-Aug-2023 |
Zhenlei Huang <zlei@FreeBSD.org> |
net: Do not overwrite if_vlan's PCP
In commit c7cffd65c5d8 the function ether_8021q_frame() was slightly refactored to use pointer of struct ether_8021q_tag as parameter qtag to include the new opti
net: Do not overwrite if_vlan's PCP
In commit c7cffd65c5d8 the function ether_8021q_frame() was slightly refactored to use pointer of struct ether_8021q_tag as parameter qtag to include the new option proto.
It is wrong to write to qtag->pcp as it will effectively change the memory that qtag points to. Unfortunately the transmit routine of if_vlan parses pointer of the member ifv_qtag of its softc which stores vlan interface's PCP internally, when transmitting mbufs that contains PCP the vlan interface's PCP will get overwritten.
Fix by operating on a local copy of qtag->pcp. Also mark 'struct ether_8021q_tag' as const so that compilers can pick up such kind of bug.
PR: 273304 Reviewed by: kp Fixes: c7cffd65c5d85 Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39505
show more ...
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
d862b165 |
| 10-Apr-2023 |
Mark Johnston <markj@FreeBSD.org> |
bridge: Add support for emulated netmap mode
if_bridge receives packets via a special interface, if_bridge_input, rather than by if_input. Thus, netmap's usual hooking of ifnet routines does not wo
bridge: Add support for emulated netmap mode
if_bridge receives packets via a special interface, if_bridge_input, rather than by if_input. Thus, netmap's usual hooking of ifnet routines does not work as expected. Instead, modify bridge_input() to pass packets directly to netmap when it is enabled. This applies to both locally delivered packets and forwarded packets.
When a netmap application transmits a packet by writing it to the host TX ring, the mbuf chain is passed to if_input, which ordinarily points to ether_input(). However, when transmitting via if_bridge, bridge_input() needs to see the packet again in order to decide whether to deliver or forward. Thus, introduce a new protocol flag, M_BRIDGE_INJECT, which 1) causes the packet to be passed to bridge_input() again after Ethernet processing, and 2) avoids passing the packet back to netmap. The source MAC address of the packet is used to determine the original "receiving" interface.
Reviewed by: vmaffione MFC after: 2 months Sponsored by: Zenarmor Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38066
show more ...
|
Revision tags: release/13.2.0 |
|
#
950cc1f4 |
| 12-Jan-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
bpf: Add "_if" tap APIs
Summary: Hide more netstack by making the BPF_TAP macros real functions in the netstack. "struct ifnet" is used in the header instead of "if_t" to keep header pollution down
bpf: Add "_if" tap APIs
Summary: Hide more netstack by making the BPF_TAP macros real functions in the netstack. "struct ifnet" is used in the header instead of "if_t" to keep header pollution down.
Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38103
show more ...
|
Revision tags: release/12.4.0, release/13.1.0 |
|
#
cba46da5 |
| 02-Apr-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
net(3): Fix a typo in a source code comment
- s/verion/version/
MFC after: 3 days
|
#
f4096a7c |
| 15-Dec-2021 |
Kristof Provost <kp@FreeBSD.org> |
net: make ethernet.h self-contained
Reviewed by: imp Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D33501
|
Revision tags: release/12.3.0 |
|
#
0ea8a7f3 |
| 29-Apr-2021 |
Jose Luis Duran <jlduran@gmail.com> |
ifconfig: Minor documentation fix
Fix what appears to have been a small copy/paste typo in ifconfig(8)'s documentation (man page and header file).
Not that it matters anymore.
Reference: Table I-2
ifconfig: Minor documentation fix
Fix what appears to have been a small copy/paste typo in ifconfig(8)'s documentation (man page and header file).
Not that it matters anymore.
Reference: Table I-2 in IEEE Std 802.1Q-2014.
PR: 255557 Submitted by: Jose Luis Duran <jlduran@gmail.com> MFC after: 1 week
show more ...
|
Revision tags: release/13.0.0 |
|
#
38c09513 |
| 21-Feb-2021 |
Kristof Provost <kp@FreeBSD.org> |
bridge: Remove members when assigned to a new vnet
When the bridge is moved to a different vnet we must remove all of its member interfaces (and span interfaces), because we don't know if those will
bridge: Remove members when assigned to a new vnet
When the bridge is moved to a different vnet we must remove all of its member interfaces (and span interfaces), because we don't know if those will be moved along with it. We don't want to hold references to interfaces not in our vnet.
Reviewed by: donner@ MFC after: 1 week Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D28859
show more ...
|
#
ced0f524 |
| 30-Oct-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
net: add ETHER_IS_IPV6_MULTICAST
This can be used to detect if an ethernet address is specifically an IPv6 multicast address, defined in accordance to RFC 2464.
ETHER_IS_MULTICAST is still preferre
net: add ETHER_IS_IPV6_MULTICAST
This can be used to detect if an ethernet address is specifically an IPv6 multicast address, defined in accordance to RFC 2464.
ETHER_IS_MULTICAST is still preferred in the general case.
Reviewed by: ae Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D26611
show more ...
|
Revision tags: release/12.2.0 |
|
#
c7cffd65 |
| 21-Oct-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q).
802.1ad interfaces are created with ifconfig using the "vlanproto" parameter. Eg., the following creates a 802.1Q VLAN (id #42) over a 802.1
Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q).
802.1ad interfaces are created with ifconfig using the "vlanproto" parameter. Eg., the following creates a 802.1Q VLAN (id #42) over a 802.1ad S-VLAN (id #5) over a physical Ethernet interface (em0).
ifconfig vlan5 create vlandev em0 vlan 5 vlanproto 802.1ad up ifconfig vlan42 create vlandev vlan5 vlan 42 inet 10.5.42.1/24
VLAN_MTU, VLAN_HWCSUM and VLAN_TSO capabilities should be properly supported. VLAN_HWTAGGING is only partially supported, as there is currently no IFCAP_VLAN_* denoting the possibility to set the VLAN EtherType to anything else than 0x8100 (802.1ad uses 0x88A8).
Submitted by: Olivier Piras Sponsored by: RG Nets Differential Revision: https://reviews.freebsd.org/D26436
show more ...
|
Revision tags: release/11.4.0 |
|
#
bc02c18c |
| 07-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357408 through r357661.
|
#
a1b769b3 |
| 07-Feb-2020 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
typo: stray spaces.
No functional change
|
#
abfc5e85 |
| 05-Feb-2020 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ethernet: Add a couple more Ethertypes.
Powerlink and Sercos III are used in automation. Both have been standardized and In the case of Ethernet Powerlink there is a BSD-licensed stack.
|
#
2a1481fb |
| 03-Feb-2020 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
typo: Registration.
Pointed by: Dikshie Fauzie
|
#
ad2b6d4e |
| 03-Feb-2020 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ethernet: Minor cleanup. Consistently use uppercase for ethertype hex numbers.
|
#
b33c1977 |
| 02-Feb-2020 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
style(9): Fix spaces after #define.
No functional change.
|
#
682397c2 |
| 02-Feb-2020 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ethernet: add some more Ethertypes.
Sort ETHERTYPE_FCOE, from r357414.
|
#
badbcf06 |
| 02-Feb-2020 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ethernet: add some more Ethertypes.
Add some types based on other BSDs and also add EtherCat and PROFINET, which are IEC standards.
There is a public list (CSV format) at: https://standards.ieee.o
ethernet: add some more Ethertypes.
Add some types based on other BSDs and also add EtherCat and PROFINET, which are IEC standards.
There is a public list (CSV format) at: https://standards.ieee.org/products-services/regauth/
MFC after: 2 weeks
show more ...
|
#
74954211 |
| 05-Nov-2019 |
Eric Joyner <erj@FreeBSD.org> |
net: add ETHER_IS_ZERO macro similar to ETHER_IS_BROADCAST
Some places in network code may need to verify that an ethernet address is not the 'zero' address. Provide a standard macro ETHER_IS_ZERO f
net: add ETHER_IS_ZERO macro similar to ETHER_IS_BROADCAST
Some places in network code may need to verify that an ethernet address is not the 'zero' address. Provide a standard macro ETHER_IS_ZERO for this purpose, similar to the ETHER_IS_BROADCAST macro already available.
This patch also removes previous ETHER_IS_ZERO definitions in several USB ethernet drivers, in favor of this centrally-located macro.
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Submitted by: Jacob Keller <jacob.e.keller@intel.com> Reviewed by: erj@ Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D21240
show more ...
|
Revision tags: release/12.1.0 |
|
#
579b70db |
| 17-Oct-2019 |
Philip Paeps <philip@FreeBSD.org> |
ether: add older ethertype definitions for QinQ
Older network equipment used the ethertypes 0x9100, 0x9200, and 0x9300 for outer VLANs, before standardisation introduced 0x88a8.
Submitted by: Lutz
ether: add older ethertype definitions for QinQ
Older network equipment used the ethertypes 0x9100, 0x9200, and 0x9300 for outer VLANs, before standardisation introduced 0x88a8.
Submitted by: Lutz Donnerhacke <lutz_donnerhacke.de> Differential Revision: https://reviews.freebsd.org/D21846
show more ...
|
Revision tags: release/11.3.0 |
|
#
0269ae4c |
| 06-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @348740
Sponsored by: The FreeBSD Foundation
|
#
e2e050c8 |
| 20-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Extract eventfilter declarations to sys/_eventfilter.h
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces hea
Extract eventfilter declarations to sys/_eventfilter.h
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header pollution substantially.
EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c files into appropriate headers (e.g., sys/proc.h, powernv/opal.h).
As a side effect of reduced header pollution, many .c files and headers no longer contain needed definitions. The remainder of the patch addresses adding appropriate includes to fix those files.
LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by sys/mutex.h since r326106 (but silently protected by header pollution prior to this change).
No functional change (intended). Of course, any out of tree modules that relied on header pollution for sys/eventhandler.h, sys/lock.h, or sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped.
show more ...
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|