Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aecdc33e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking changes from David Miller:

 1) GRE now works over ipv6, from Dmitry Kozlov.

 2) Make SCTP more network namespace aware, from Eric Biederman.

 3) TEAM driver now works with non-ethernet devices, from Jiri Pirko.

 4) Make openvswitch network namespace aware, from Pravin B Shelar.

 5) IPV6 NAT implementation, from Patrick McHardy.

 6) Server side support for TCP Fast Open, from Jerry Chu and others.

 7) Packet BPF filter supports MOD and XOR, from Eric Dumazet and Daniel
    Borkmann.

 8) Increate the loopback default MTU to 64K, from Eric Dumazet.

 9) Use a per-task rather than per-socket page fragment allocator for
    outgoing networking traffic.  This benefits processes that have very
    many mostly idle sockets, which is quite common.

    From Eric Dumazet.

10) Use up to 32K for page fragment allocations, with fallbacks to
    smaller sizes when higher order page allocations fail.  Benefits are
    a) less segments for driver to process b) less calls to page
    allocator c) less waste of space.

    From Eric Dumazet.

11) Allow GRO to be used on GRE tunnels, from Eric Dumazet.

12) VXLAN device driver, one way to handle VLAN issues such as the
    limitation of 4096 VLAN IDs yet still have some level of isolation.
    From Stephen Hemminger.

13) As usual there is a large boatload of driver changes, with the scale
    perhaps tilted towards the wireless side this time around.

Fix up various fairly trivial conflicts, mostly caused by the user
namespace changes.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1012 commits)
  hyperv: Add buffer for extended info after the RNDIS response message.
  hyperv: Report actual status in receive completion packet
  hyperv: Remove extra allocated space for recv_pkt_list elements
  hyperv: Fix page buffer handling in rndis_filter_send_request()
  hyperv: Fix the missing return value in rndis_filter_set_packet_filter()
  hyperv: Fix the max_xfer_size in RNDIS initialization
  vxlan: put UDP socket in correct namespace
  vxlan: Depend on CONFIG_INET
  sfc: Fix the reported priorities of different filter types
  sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP
  sfc: Fix loopback self-test with separate_tx_channels=1
  sfc: Fix MCDI structure field lookup
  sfc: Add parentheses around use of bitfield macro arguments
  sfc: Fix null function pointer in efx_sriov_channel_type
  vxlan: virtual extensible lan
  igmp: export symbol ip_mc_leave_group
  netlink: add attributes to fdb interface
  tg3: unconditionally select HWMON support when tg3 is enabled.
  Revert "net: ti cpsw ethernet: allow reading phy interface mode from DT"
  gre: fix sparse warning
  ...
parents a20acf99 a3a6cab5
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -19,7 +19,11 @@ Date: September 2010
Contact:	Richard Cochran <richardcochran@gmail.com>
Contact:	Richard Cochran <richardcochran@gmail.com>
Description:
Description:
		This file contains the name of the PTP hardware clock
		This file contains the name of the PTP hardware clock
		as a human readable string.
		as a human readable string. The purpose of this
		attribute is to provide the user with a "friendly
		name" and to help distinguish PHY based devices from
		MAC based ones. The string does not necessarily have
		to be any kind of unique id.


What:		/sys/class/ptp/ptpN/max_adjustment
What:		/sys/class/ptp/ptpN/max_adjustment
Date:		September 2010
Date:		September 2010
+49 −0
Original line number Original line Diff line number Diff line
Bosch C_CAN/D_CAN controller Device Tree Bindings
-------------------------------------------------

Required properties:
- compatible		: Should be "bosch,c_can" for C_CAN controllers and
			  "bosch,d_can" for D_CAN controllers.
- reg			: physical base address and size of the C_CAN/D_CAN
			  registers map
- interrupts		: property with a value describing the interrupt
			  number

Optional properties:
- ti,hwmods		: Must be "d_can<n>" or "c_can<n>", n being the
			  instance number

Note: "ti,hwmods" field is used to fetch the base address and irq
resources from TI, omap hwmod data base during device registration.
Future plan is to migrate hwmod data base contents into device tree
blob so that, all the required data will be used from device tree dts
file.

Example:

Step1: SoC common .dtsi file

	dcan1: d_can@481d0000 {
		compatible = "bosch,d_can";
		reg = <0x481d0000 0x2000>;
		interrupts = <55>;
		interrupt-parent = <&intc>;
		status = "disabled";
	};

(or)

	dcan1: d_can@481d0000 {
		compatible = "bosch,d_can";
		ti,hwmods = "d_can1";
		reg = <0x481d0000 0x2000>;
		interrupts = <55>;
		interrupt-parent = <&intc>;
		status = "disabled";
	};

Step 2: board specific .dts file

	&dcan1 {
		status = "okay";
	};
+109 −0
Original line number Original line Diff line number Diff line
TI SoC Ethernet Switch Controller Device Tree Bindings
------------------------------------------------------

Required properties:
- compatible		: Should be "ti,cpsw"
- reg			: physical base address and size of the cpsw
			  registers map
- interrupts		: property with a value describing the interrupt
			  number
- interrupt-parent	: The parent interrupt controller
- cpdma_channels 	: Specifies number of channels in CPDMA
- host_port_no		: Specifies host port shift
- cpdma_reg_ofs		: Specifies CPDMA submodule register offset
- cpdma_sram_ofs	: Specifies CPDMA SRAM offset
- ale_reg_ofs		: Specifies ALE submodule register offset
- ale_entries		: Specifies No of entries ALE can hold
- host_port_reg_ofs	: Specifies host port register offset
- hw_stats_reg_ofs	: Specifies hardware statistics register offset
- bd_ram_ofs		: Specifies internal desciptor RAM offset
- bd_ram_size		: Specifies internal descriptor RAM size
- rx_descs		: Specifies number of Rx descriptors
- mac_control		: Specifies Default MAC control register content
			  for the specific platform
- slaves		: Specifies number for slaves
- slave_reg_ofs		: Specifies slave register offset
- sliver_reg_ofs	: Specifies slave sliver register offset
- phy_id		: Specifies slave phy id
- mac-address		: Specifies slave MAC address

Optional properties:
- ti,hwmods		: Must be "cpgmac0"
- no_bd_ram		: Must be 0 or 1

Note: "ti,hwmods" field is used to fetch the base address and irq
resources from TI, omap hwmod data base during device registration.
Future plan is to migrate hwmod data base contents into device tree
blob so that, all the required data will be used from device tree dts
file.

Examples:

	mac: ethernet@4A100000 {
		compatible = "ti,cpsw";
		reg = <0x4A100000 0x1000>;
		interrupts = <55 0x4>;
		interrupt-parent = <&intc>;
		cpdma_channels = <8>;
		host_port_no = <0>;
		cpdma_reg_ofs = <0x800>;
		cpdma_sram_ofs = <0xa00>;
		ale_reg_ofs = <0xd00>;
		ale_entries = <1024>;
		host_port_reg_ofs = <0x108>;
		hw_stats_reg_ofs = <0x900>;
		bd_ram_ofs = <0x2000>;
		bd_ram_size = <0x2000>;
		no_bd_ram = <0>;
		rx_descs = <64>;
		mac_control = <0x20>;
		slaves = <2>;
		cpsw_emac0: slave@0 {
			slave_reg_ofs = <0x208>;
			sliver_reg_ofs = <0xd80>;
			phy_id = "davinci_mdio.16:00";
			/* Filled in by U-Boot */
			mac-address = [ 00 00 00 00 00 00 ];
		};
		cpsw_emac1: slave@1 {
			slave_reg_ofs = <0x308>;
			sliver_reg_ofs = <0xdc0>;
			phy_id = "davinci_mdio.16:01";
			/* Filled in by U-Boot */
			mac-address = [ 00 00 00 00 00 00 ];
		};
	};

(or)
	mac: ethernet@4A100000 {
		compatible = "ti,cpsw";
		ti,hwmods = "cpgmac0";
		cpdma_channels = <8>;
		host_port_no = <0>;
		cpdma_reg_ofs = <0x800>;
		cpdma_sram_ofs = <0xa00>;
		ale_reg_ofs = <0xd00>;
		ale_entries = <1024>;
		host_port_reg_ofs = <0x108>;
		hw_stats_reg_ofs = <0x900>;
		bd_ram_ofs = <0x2000>;
		bd_ram_size = <0x2000>;
		no_bd_ram = <0>;
		rx_descs = <64>;
		mac_control = <0x20>;
		slaves = <2>;
		cpsw_emac0: slave@0 {
			slave_reg_ofs = <0x208>;
			sliver_reg_ofs = <0xd80>;
			phy_id = "davinci_mdio.16:00";
			/* Filled in by U-Boot */
			mac-address = [ 00 00 00 00 00 00 ];
		};
		cpsw_emac1: slave@1 {
			slave_reg_ofs = <0x308>;
			sliver_reg_ofs = <0xdc0>;
			phy_id = "davinci_mdio.16:01";
			/* Filled in by U-Boot */
			mac-address = [ 00 00 00 00 00 00 ];
		};
	};
+33 −0
Original line number Original line Diff line number Diff line
TI SoC Davinci MDIO Controller Device Tree Bindings
---------------------------------------------------

Required properties:
- compatible		: Should be "ti,davinci_mdio"
- reg			: physical base address and size of the davinci mdio
			  registers map
- bus_freq		: Mdio Bus frequency

Optional properties:
- ti,hwmods		: Must be "davinci_mdio"

Note: "ti,hwmods" field is used to fetch the base address and irq
resources from TI, omap hwmod data base during device registration.
Future plan is to migrate hwmod data base contents into device tree
blob so that, all the required data will be used from device tree dts
file.

Examples:

	mdio: davinci_mdio@4A101000 {
		compatible = "ti,cpsw";
		reg = <0x4A101000 0x1000>;
		bus_freq = <1000000>;
	};

(or)

	mdio: davinci_mdio@4A101000 {
		compatible = "ti,cpsw";
		ti,hwmods = "davinci_mdio";
		bus_freq = <1000000>;
	};
+75 −0
Original line number Original line Diff line number Diff line
Properties for an MDIO bus multiplexer controlled by a memory-mapped device

This is a special case of a MDIO bus multiplexer.  A memory-mapped device,
like an FPGA, is used to control which child bus is connected.  The mdio-mux
node must be a child of the memory-mapped device.  The driver currently only
supports devices with eight-bit registers.

Required properties in addition to the generic multiplexer properties:

- compatible : string, must contain "mdio-mux-mmioreg"

- reg : integer, contains the offset of the register that controls the bus
	multiplexer.  The size field in the 'reg' property is the size of
	register, and must therefore be 1.

- mux-mask : integer, contains an eight-bit mask that specifies which
	bits in the register control the actual bus multiplexer.  The
	'reg' property of each child mdio-mux node must be constrained by
	this mask.

Example:

The FPGA node defines a memory-mapped FPGA with a register space of 0x30 bytes.
For the "EMI2" MDIO bus, register 9 (BRDCFG1) controls the mux on that bus.
A bitmask of 0x6 means that bits 1 and 2 (bit 0 is lsb) are the bits on
BRDCFG1 that control the actual mux.

	/* The FPGA node */
	fpga: board-control@3,0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "fsl,p5020ds-fpga", "fsl,fpga-ngpixis";
		reg = <3 0 0x30>;
		ranges = <0 3 0 0x30>;

		mdio-mux-emi2 {
			compatible = "mdio-mux-mmioreg", "mdio-mux";
			mdio-parent-bus = <&xmdio0>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <9 1>; // BRDCFG1
			mux-mask = <0x6>; // EMI2

			emi2_slot1: mdio@0 {	// Slot 1 XAUI (FM2)
				reg = <0>;
				#address-cells = <1>;
				#size-cells = <0>;

				phy_xgmii_slot1: ethernet-phy@0 {
					compatible = "ethernet-phy-ieee802.3-c45";
					reg = <4>;
				};
			};

			emi2_slot2: mdio@2 {	// Slot 2 XAUI (FM1)
				reg = <2>;
				#address-cells = <1>;
				#size-cells = <0>;

				phy_xgmii_slot2: ethernet-phy@4 {
					compatible = "ethernet-phy-ieee802.3-c45";
					reg = <0>;
				};
			};
		};
	};

	/* The parent MDIO bus. */
	xmdio0: mdio@f1000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "fsl,fman-xmdio";
		reg = <0xf1000 0x1000>;
		interrupts = <100 1 0 0>;
	};
Loading