Skip to content

Commit 5bb053b

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Miller: 1) Support offloading wireless authentication to userspace via NL80211_CMD_EXTERNAL_AUTH, from Srinivas Dasari. 2) A lot of work on network namespace setup/teardown from Kirill Tkhai. Setup and cleanup of namespaces now all run asynchronously and thus performance is significantly increased. 3) Add rx/tx timestamping support to mv88e6xxx driver, from Brandon Streiff. 4) Support zerocopy on RDS sockets, from Sowmini Varadhan. 5) Use denser instruction encoding in x86 eBPF JIT, from Daniel Borkmann. 6) Support hw offload of vlan filtering in mvpp2 dreiver, from Maxime Chevallier. 7) Support grafting of child qdiscs in mlxsw driver, from Nogah Frankel. 8) Add packet forwarding tests to selftests, from Ido Schimmel. 9) Deal with sub-optimal GSO packets better in BBR congestion control, from Eric Dumazet. 10) Support 5-tuple hashing in ipv6 multipath routing, from David Ahern. 11) Add path MTU tests to selftests, from Stefano Brivio. 12) Various bits of IPSEC offloading support for mlx5, from Aviad Yehezkel, Yossi Kuperman, and Saeed Mahameed. 13) Support RSS spreading on ntuple filters in SFC driver, from Edward Cree. 14) Lots of sockmap work from John Fastabend. Applications can use eBPF to filter sendmsg and sendpage operations. 15) In-kernel receive TLS support, from Dave Watson. 16) Add XDP support to ixgbevf, this is significant because it should allow optimized XDP usage in various cloud environments. From Tony Nguyen. 17) Add new Intel E800 series "ice" ethernet driver, from Anirudh Venkataramanan et al. 18) IP fragmentation match offload support in nfp driver, from Pieter Jansen van Vuuren. 19) Support XDP redirect in i40e driver, from Björn Töpel. 20) Add BPF_RAW_TRACEPOINT program type for accessing the arguments of tracepoints in their raw form, from Alexei Starovoitov. 21) Lots of striding RQ improvements to mlx5 driver with many performance improvements, from Tariq Toukan. 22) Use rhashtable for inet frag reassembly, from Eric Dumazet. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1678 commits) net: mvneta: improve suspend/resume net: mvneta: split rxq/txq init and txq deinit into SW and HW parts ipv6: frags: fix /proc/sys/net/ipv6/ip6frag_low_thresh net: bgmac: Fix endian access in bgmac_dma_tx_ring_free() net: bgmac: Correctly annotate register space route: check sysctl_fib_multipath_use_neigh earlier than hash fix typo in command value in drivers/net/phy/mdio-bitbang. sky2: Increase D3 delay to sky2 stops working after suspend net/mlx5e: Set EQE based as default TX interrupt moderation mode ibmvnic: Disable irqs before exiting reset from closed state net: sched: do not emit messages while holding spinlock vlan: also check phy_driver ts_info for vlan's real device Bluetooth: Mark expected switch fall-throughs Bluetooth: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for BTUSB_QCA_ROME Bluetooth: btrsi: remove unused including <linux/version.h> Bluetooth: hci_bcm: Remove DMI quirk for the MINIX Z83-4 sh_eth: kill useless check in __sh_eth_get_regs() sh_eth: add sh_eth_cpu_data::no_xdfar flag ipv6: factorize sk_wmem_alloc updates done by __ip6_append_data() ipv4: factorize sk_wmem_alloc updates done by __ip_append_data() ...
2 parents bb2407a + 159f029 commit 5bb053b

File tree

1,674 files changed

+101697
-28186
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,674 files changed

+101697
-28186
lines changed

Documentation/bpf/bpf_devel_QA.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,18 @@ A: Although LLVM IR generation and optimization try to stay architecture
539539
The clang option "-fno-jump-tables" can be used to disable
540540
switch table generation.
541541

542+
- For clang -target bpf, it is guaranteed that pointer or long /
543+
unsigned long types will always have a width of 64 bit, no matter
544+
whether underlying clang binary or default target (or kernel) is
545+
32 bit. However, when native clang target is used, then it will
546+
compile these types based on the underlying architecture's conventions,
547+
meaning in case of 32 bit architecture, pointer or long / unsigned
548+
long types e.g. in BPF context structure will have width of 32 bit
549+
while the BPF LLVM back end still operates in 64 bit. The native
550+
target is mostly needed in tracing for the case of walking pt_regs
551+
or other kernel structures where CPU's register width matters.
552+
Otherwise, clang -target bpf is generally recommended.
553+
542554
You should use default target when:
543555

544556
- Your program includes a header file, e.g., ptrace.h, which eventually

Documentation/devicetree/bindings/net/dsa/marvell.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,18 @@ placed as a child node of an mdio device.
1313
The properties described here are those specific to Marvell devices.
1414
Additional required and optional properties can be found in dsa.txt.
1515

16+
The compatibility string is used only to find an identification register,
17+
which is at a different MDIO base address in different switch families.
18+
- "marvell,mv88e6085" : Switch has base address 0x10. Use with models:
19+
6085, 6095, 6097, 6123, 6131, 6141, 6161, 6165,
20+
6171, 6172, 6175, 6176, 6185, 6240, 6320, 6321,
21+
6341, 6350, 6351, 6352
22+
- "marvell,mv88e6190" : Switch has base address 0x00. Use with models:
23+
6190, 6190X, 6191, 6290, 6390, 6390X
24+
1625
Required properties:
1726
- compatible : Should be one of "marvell,mv88e6085" or
18-
"marvell,mv88e6190"
27+
"marvell,mv88e6190" as indicated above
1928
- reg : Address on the MII bus for the switch.
2029

2130
Optional properties:

Documentation/devicetree/bindings/net/ethernet.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ Documentation/devicetree/bindings/phy/phy-bindings.txt.
1010
the boot program; should be used in cases where the MAC address assigned to
1111
the device by the boot program is different from the "local-mac-address"
1212
property;
13+
- nvmem-cells: phandle, reference to an nvmem node for the MAC address;
14+
- nvmem-cell-names: string, should be "mac-address" if nvmem is to be used;
1315
- max-speed: number, specifies maximum speed in Mbit/s supported by the device;
1416
- max-frame-size: number, maximum transfer unit (IEEE defined MTU), rather than
1517
the maximum frame size (there's contradiction in the Devicetree
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
* MCR20A IEEE 802.15.4 *
2+
3+
Required properties:
4+
- compatible: should be "nxp,mcr20a"
5+
- spi-max-frequency: maximal bus speed, should be set to a frequency
6+
lower than 9000000 depends sync or async operation mode
7+
- reg: the chipselect index
8+
- interrupts: the interrupt generated by the device. Non high-level
9+
can occur deadlocks while handling isr.
10+
11+
Optional properties:
12+
- rst_b-gpio: GPIO spec for the RST_B pin
13+
14+
Example:
15+
16+
mcr20a@0 {
17+
compatible = "nxp,mcr20a";
18+
spi-max-frequency = <9000000>;
19+
reg = <0>;
20+
interrupts = <17 2>;
21+
interrupt-parent = <&gpio>;
22+
rst_b-gpio = <&gpio 27 1>
23+
};

Documentation/devicetree/bindings/net/macb.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Optional properties for PHY child node:
2929
- reset-gpios : Should specify the gpio for phy reset
3030
- magic-packet : If present, indicates that the hardware supports waking
3131
up via magic packet.
32+
- phy-handle : see ethernet.txt file in the same directory
3233

3334
Examples:
3435

Documentation/devicetree/bindings/net/meson-dwmac.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Required properties on all platforms:
99
- compatible: Depending on the platform this should be one of:
1010
- "amlogic,meson6-dwmac"
1111
- "amlogic,meson8b-dwmac"
12+
- "amlogic,meson8m2-dwmac"
1213
- "amlogic,meson-gxbb-dwmac"
1314
Additionally "snps,dwmac" and any applicable more
1415
detailed version number described in net/stmmac.txt
@@ -19,13 +20,13 @@ Required properties on all platforms:
1920
configuration (for example the PRG_ETHERNET register range
2021
on Meson8b and newer)
2122

22-
Required properties on Meson8b and newer:
23+
Required properties on Meson8b, Meson8m2, GXBB and newer:
2324
- clock-names: Should contain the following:
2425
- "stmmaceth" - see stmmac.txt
2526
- "clkin0" - first parent clock of the internal mux
2627
- "clkin1" - second parent clock of the internal mux
2728

28-
Optional properties on Meson8b and newer:
29+
Optional properties on Meson8b, Meson8m2, GXBB and newer:
2930
- amlogic,tx-delay-ns: The internal RGMII TX clock delay (provided
3031
by this driver) in nanoseconds. Allowed values
3132
are: 0ns, 2ns, 4ns, 6ns.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
* NI XGE Ethernet controller
2+
3+
Required properties:
4+
- compatible: Should be "ni,xge-enet-2.00"
5+
- reg: Address and length of the register set for the device
6+
- interrupts: Should contain tx and rx interrupt
7+
- interrupt-names: Should be "rx" and "tx"
8+
- phy-mode: See ethernet.txt file in the same directory.
9+
- phy-handle: See ethernet.txt file in the same directory.
10+
- nvmem-cells: Phandle of nvmem cell containing the MAC address
11+
- nvmem-cell-names: Should be "address"
12+
13+
Examples (10G generic PHY):
14+
nixge0: ethernet@40000000 {
15+
compatible = "ni,xge-enet-2.00";
16+
reg = <0x40000000 0x6000>;
17+
18+
nvmem-cells = <&eth1_addr>;
19+
nvmem-cell-names = "address";
20+
21+
interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>, <0 30 IRQ_TYPE_LEVEL_HIGH>;
22+
interrupt-names = "rx", "tx";
23+
interrupt-parent = <&intc>;
24+
25+
phy-mode = "xgmii";
26+
phy-handle = <&ethernet_phy1>;
27+
28+
ethernet_phy1: ethernet-phy@4 {
29+
compatible = "ethernet-phy-ieee802.3-c45";
30+
reg = <4>;
31+
};
32+
};

Documentation/devicetree/bindings/net/renesas,ravb.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Required properties:
77
- compatible: Must contain one or more of the following:
88
- "renesas,etheravb-r8a7743" for the R8A7743 SoC.
99
- "renesas,etheravb-r8a7745" for the R8A7745 SoC.
10+
- "renesas,etheravb-r8a77470" for the R8A77470 SoC.
1011
- "renesas,etheravb-r8a7790" for the R8A7790 SoC.
1112
- "renesas,etheravb-r8a7791" for the R8A7791 SoC.
1213
- "renesas,etheravb-r8a7792" for the R8A7792 SoC.

Documentation/devicetree/bindings/net/sff,sfp.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,18 @@ Optional Properties:
3333
Select (AKA RS1) output gpio signal (SFP+ only), low: low Tx rate, high:
3434
high Tx rate. Must not be present for SFF modules
3535

36+
- maximum-power-milliwatt : Maximum module power consumption
37+
Specifies the maximum power consumption allowable by a module in the
38+
slot, in milli-Watts. Presently, modules can be up to 1W, 1.5W or 2W.
39+
3640
Example #1: Direct serdes to SFP connection
3741

3842
sfp_eth3: sfp-eth3 {
3943
compatible = "sff,sfp";
4044
i2c-bus = <&sfp_1g_i2c>;
4145
los-gpios = <&cpm_gpio2 22 GPIO_ACTIVE_HIGH>;
4246
mod-def0-gpios = <&cpm_gpio2 21 GPIO_ACTIVE_LOW>;
47+
maximum-power-milliwatt = <1000>;
4348
pinctrl-names = "default";
4449
pinctrl-0 = <&cpm_sfp_1g_pins &cps_sfp_1g_pins>;
4550
tx-disable-gpios = <&cps_gpio1 24 GPIO_ACTIVE_HIGH>;

Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Required properties:
99
- "socionext,uniphier-pxs2-ave4" : for PXs2 SoC
1010
- "socionext,uniphier-ld11-ave4" : for LD11 SoC
1111
- "socionext,uniphier-ld20-ave4" : for LD20 SoC
12+
- "socionext,uniphier-pxs3-ave4" : for PXs3 SoC
1213
- reg: Address where registers are mapped and size of region.
1314
- interrupts: Should contain the MAC interrupt.
1415
- phy-mode: See ethernet.txt in the same directory. Allow to choose

Documentation/devicetree/bindings/net/ti,dp83867.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ Optional property:
2525
software needs to take when this pin is
2626
strapped in these modes. See data manual
2727
for details.
28+
- ti,clk-output-sel - Muxing option for CLK_OUT pin - see dt-bindings/net/ti-dp83867.h
29+
for applicable values.
2830

2931
Note: ti,min-output-impedance and ti,max-output-impedance are mutually
3032
exclusive. When both properties are present ti,max-output-impedance

Documentation/networking/ice.txt

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Intel(R) Ethernet Connection E800 Series Linux Driver
2+
===================================================================
3+
4+
Intel ice Linux driver.
5+
Copyright(c) 2018 Intel Corporation.
6+
7+
Contents
8+
========
9+
- Enabling the driver
10+
- Support
11+
12+
The driver in this release supports Intel's E800 Series of products. For
13+
more information, visit Intel's support page at http://support.intel.com.
14+
15+
Enabling the driver
16+
===================
17+
18+
The driver is enabled via the standard kernel configuration system,
19+
using the make command:
20+
21+
Make oldconfig/silentoldconfig/menuconfig/etc.
22+
23+
The driver is located in the menu structure at:
24+
25+
-> Device Drivers
26+
-> Network device support (NETDEVICES [=y])
27+
-> Ethernet driver support
28+
-> Intel devices
29+
-> Intel(R) Ethernet Connection E800 Series Support
30+
31+
Support
32+
=======
33+
34+
For general information, go to the Intel support website at:
35+
36+
http://support.intel.com
37+
38+
If an issue is identified with the released source code, please email
39+
the maintainer listed in the MAINTAINERS file.

Documentation/networking/ip-sysctl.txt

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,11 @@ min_adv_mss - INTEGER
133133

134134
IP Fragmentation:
135135

136-
ipfrag_high_thresh - INTEGER
137-
Maximum memory used to reassemble IP fragments. When
138-
ipfrag_high_thresh bytes of memory is allocated for this purpose,
139-
the fragment handler will toss packets until ipfrag_low_thresh
140-
is reached. This also serves as a maximum limit to namespaces
141-
different from the initial one.
142-
143-
ipfrag_low_thresh - INTEGER
136+
ipfrag_high_thresh - LONG INTEGER
137+
Maximum memory used to reassemble IP fragments.
138+
139+
ipfrag_low_thresh - LONG INTEGER
140+
(Obsolete since linux-4.17)
144141
Maximum memory used to reassemble IP fragments before the kernel
145142
begins to remove incomplete fragment queues to free up resources.
146143
The kernel still accepts new fragments for defragmentation.
@@ -755,13 +752,13 @@ udp_rmem_min - INTEGER
755752
Minimal size of receive buffer used by UDP sockets in moderation.
756753
Each UDP socket is able to use the size for receiving data, even if
757754
total pages of UDP sockets exceed udp_mem pressure. The unit is byte.
758-
Default: 1 page
755+
Default: 4K
759756

760757
udp_wmem_min - INTEGER
761758
Minimal size of send buffer used by UDP sockets in moderation.
762759
Each UDP socket is able to use the size for sending data, even if
763760
total pages of UDP sockets exceed udp_mem pressure. The unit is byte.
764-
Default: 1 page
761+
Default: 4K
765762

766763
CIPSOv4 Variables:
767764

@@ -1363,6 +1360,13 @@ flowlabel_reflect - BOOLEAN
13631360
FALSE: disabled
13641361
Default: FALSE
13651362

1363+
fib_multipath_hash_policy - INTEGER
1364+
Controls which hash policy to use for multipath routes.
1365+
Default: 0 (Layer 3)
1366+
Possible values:
1367+
0 - Layer 3 (source and destination addresses plus flow label)
1368+
1 - Layer 4 (standard 5-tuple)
1369+
13661370
anycast_src_echo_reply - BOOLEAN
13671371
Controls the use of anycast addresses as source addresses for ICMPv6
13681372
echo reply
@@ -1696,7 +1700,9 @@ disable_ipv6 - BOOLEAN
16961700
interface and start Duplicate Address Detection, if necessary.
16971701

16981702
When this value is changed from 0 to 1 (IPv6 is being disabled),
1699-
it will dynamically delete all address on the given interface.
1703+
it will dynamically delete all addresses and routes on the given
1704+
interface. From now on it will not possible to add addresses/routes
1705+
to the selected interface.
17001706

17011707
accept_dad - INTEGER
17021708
Whether to accept DAD (Duplicate Address Detection).
@@ -2094,7 +2100,7 @@ sctp_rmem - vector of 3 INTEGERs: min, default, max
20942100
It is guaranteed to each SCTP socket (but not association) even
20952101
under moderate memory pressure.
20962102

2097-
Default: 1 page
2103+
Default: 4K
20982104

20992105
sctp_wmem - vector of 3 INTEGERs: min, default, max
21002106
Currently this tunable has no effect.

Documentation/networking/msg_zerocopy.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,6 @@ this flag, a process must first signal intent by setting a socket option:
7272
if (setsockopt(fd, SOL_SOCKET, SO_ZEROCOPY, &one, sizeof(one)))
7373
error(1, errno, "setsockopt zerocopy");
7474

75-
Setting the socket option only works when the socket is in its initial
76-
(TCP_CLOSED) state. Trying to set the option for a socket returned by accept(),
77-
for example, will lead to an EBUSY error. In this case, the option should be set
78-
to the listening socket and it will be inherited by the accepted sockets.
79-
8075
Transmission
8176
------------
8277

0 commit comments

Comments
 (0)