summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* batman-adv: Send multicast packets to nodes with a WANT_ALL flagLinus Lüssing2014-03-226-3/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch a node sends IPv4 multicast packets to nodes which have a BATADV_MCAST_WANT_ALL_IPV4 flag set and IPv6 multicast packets to nodes which have a BATADV_MCAST_WANT_ALL_IPV6 flag set, too. Why is this needed? There are scenarios involving bridges where multicast report snooping and multicast TT announcements are not sufficient, which would lead to packet loss for some nodes otherwise: MLDv1 and IGMPv1/IGMPv2 have a suppression mechanism for multicast listener reports. When we have an MLDv1/IGMPv1/IGMPv2 querier behind a bridge then our snooping bridge is potentially not going to see any reports even though listeners exist because according to RFC4541 such reports are only forwarded to multicast routers: ----------------------------------------------------------- --------------- {Querier}---|Snoop. Switch|----{Listener} --------------- \ ^ ------- | br0 | < ??? ------- \ _-~---~_ _-~/ ~-_ ~ batman-adv \-----{Sender} \~_ cloud ~/ -~~__-__-~_/ I) MLDv1 Query: {Querier} -> flooded II) MLDv1 Report: {Listener} -> {Querier} -> br0 cannot detect the {Listener} => Packets from {Sender} need to be forwarded to all detected listeners and MLDv1/IGMPv1/IGMPv2 queriers. ----------------------------------------------------------- Note that we do not need to explicitly forward to MLDv2/IGMPv3 queriers, because these protocols have no report suppression: A bridge has no trouble detecting MLDv2/IGMPv3 listeners. Even though we do not support bridges yet we need to provide the according infrastructure already to not break compatibility later. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: Add IPv4 link-local/IPv6-ll-all-nodes multicast supportLinus Lüssing2014-03-226-8/+156
| | | | | | | | | | | | | | | | | | | | | | | | | With this patch a node may additionally perform the dropping or unicasting behaviour for a link-local IPv4 and link-local-all-nodes IPv6 multicast packet, too. The extra counter and BATADV_MCAST_WANT_ALL_UNSNOOPABLES flag is needed because with a future bridge snooping support integration a node with a bridge on top of its soft interface is not able to reliably detect its multicast listeners for IPv4 link-local and the IPv6 link-local-all-nodes addresses anymore (see RFC4541, section 2.1.2.2 and section 3). Even though this new flag does make "no difference" now, it'll ensure a seamless integration of multicast bridge support without needing to break compatibility later. Also note, that even with multicast bridge support it won't be possible to optimize 224.0.0.x and ff02::1 towards nodes with bridges, they will always receive these ranges. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: Modified forwarding behaviour for multicast packetsLinus Lüssing2014-03-2210-26/+275
| | | | | | | | | | | | | | | | | | | | | With this patch a multicast packet is not always simply flooded anymore, the behaviour for the following cases is changed to reduce unnecessary overhead: If all nodes within the horizon of a certain node have signalized multicast listener announcement capability then an IPv6 multicast packet with a destination of IPv6 link-local scope (excluding ff02::1) coming from the upstream of this node... * ...is dropped if there is no according multicast listener in the translation table, * ...is forwarded via unicast if there is a single node with interested multicast listeners * ...and otherwise still gets flooded. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: Announce new capability via multicast TVLVLinus Lüssing2014-03-227-6/+167
| | | | | | | | | | | If the soft interface of a node is not part of a bridge then a node announces a new multicast TVLV: The existence of this TVLV signalizes that this node is announcing all of its multicast listeners via the translation table infrastructure. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: introduce capability initialization bitfieldLinus Lüssing2014-03-223-9/+11
| | | | | | | | | | | | The new bitfield allows us to keep track whether capability subsets of an originator have gone through their initialization phase yet. The translation table is the only user right now, but a new one will be added soon. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: Multicast Listener Announcements via Translation TableLinus Lüssing2014-03-228-4/+318
| | | | | | | | | | With this patch a node which has no bridge interface on top of its soft interface announces its local multicast listeners via the translation table. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: add kerneldoc for dst_hint argumentAntonio Quartulli2014-03-222-0/+3
| | | | | | | | Some helper functions used along the TX path have now a new "dst_hint" argument but the kerneldoc was missing. Signed-off-by: Antonio Quartulli <antonio@meshcoding.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
* batman-adv: call unregister_netdev() to have it handle the locking for usMarek Lindner2014-03-221-4/+1
| | | | | | Reported-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: fix a few kerneldoc inconsistenciesSimon Wunderlich2014-03-221-5/+5
| | | | | | | Reported-by: Antonio Quartulli <antonio@meshcoding.com> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: prefer ether_addr_copy to memcpyAntonio Quartulli2014-03-2213-71/+70
| | | | | | | | On some architectures ether_addr_copy() is slightly faster than memcpy() therefore use the former when possible. Signed-off-by: Antonio Quartulli <antonio@meshcoding.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
* batman-adv: remove obsolete skb_reset_mac_header() in batadv_bla_tx()Linus Lüssing2014-03-221-3/+0
| | | | | | | | | | | | | | | Our .ndo_start_xmit handler (batadv_interface_tx()) can rely on having the skb mac header pointer set correctly since the following commit present in kernels >= 3.9: "net: reset mac header in dev_start_xmit()" (6d1ccff627) Therefore this commit removes the according, now redundant, skb_reset_mac_header() call in batadv_bla_tx(). Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: use vlan_/eth_hdr() instead of skb->data in interface_tx pathLinus Lüssing2014-03-225-14/+18
| | | | | | | | | | | | | | | | | | Our .ndo_start_xmit handler (batadv_interface_tx()) can rely on having the skb mac header pointer set correctly since the following commit present in kernels >= 3.9: "net: reset mac header in dev_start_xmit()" (6d1ccff627) Therefore we can safely use eth_hdr() and vlan_eth_hdr() instead of skb->data now, which spares us some ugly type casts. At the same time set the mac_header in batadv_dat_snoop_incoming_arp_request() before sending the skb along the TX path. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* batman-adv: fix coccinelle warningsFengguang Wu2014-03-221-1/+1
| | | | | | | | | | net/batman-adv/network-coding.c:1535:1-7: Replace memcpy with struct assignment Generated by: coccinelle/misc/memcpy-assign.cocci Signed-off-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Martin Hundebøll <martin@hundeboll.net> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
* Merge branch 'ptp-next'David S. Miller2014-03-2121-20/+509
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Richard Cochran says: ==================== ptp: dynamic pin control This patch series introduces a way of changing the auxiliary PTP Hardware Clock functions (periodic output signals and time stamping external signals) at run time. In the past on the netdev list, we have discussed other ways to handle this, such as module parameters and ethtool. This series implements a new PHC ioctl because that is the most natural way. Users already activate the auxiliary functions via the ioctls. The sysfs interface has also been expanded so that the pin configuration can be programmed using shell scripts. The first patch adds the new ioctls. The PHC subsystem does most of the work of maintaining the function-to-pin mapping. Drivers will only need to allocate and initialize a pin configuration table and also provide a new method that validates a particular assignment. Patches 5 and 6 just clean up a couple of issues in the phyter driver, and the remaining patches actually hook the phyter's pins into the new system. * ChangeLog ** V3 - simplify locking in the set pin logic ** V2 - fix bug in sysfs code on init error path - rename ptp_setpin() to ptp_set_pinfunc() - rename .setpin() to .verify() in the driver interface - simplify ptp_find_pin() logic - use correct test when checking whether the pin with the calibration function is being reprogrammed ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * dp83640: let the periodic pin from the module parameter be a default.Richard Cochran2014-03-211-6/+13
| | | | | | | | | | | | | | | | This patch changes the driver use the new pin configuration method when programming the periodic output signal. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * dp83640: let external input pins from the module parameters be defaults.Richard Cochran2014-03-211-1/+4
| | | | | | | | | | | | | | | | This patch changes the driver to use the new pin configuration method when programming the external time stamp input signals. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * dp83640: implement programmable pin functions.Richard Cochran2014-03-211-0/+52
| | | | | | | | | | | | | | | | | | This patch adapts the dp83640 driver to allow reconfiguration of which auxiliary function goes on which pin. The functions may be reassigned freely with the one exception of the calibration function. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * dp83640: correct the periodic output frequencyRichard Cochran2014-03-211-5/+6
| | | | | | | | | | | | | | | | | | | | The phyter driver incorrectly feeds the value of the period into what is in fact a pulse width register, resulting in the actual period being twice the dialed value. This patch fixes the issue and renames a variable to make the code at bit more clear. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * dp83640: trivial fixesRichard Cochran2014-03-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This patch cleans up the input checking code on the external time stamp function by using an unsigned rather than a signed channel index. Also, this patch corrects the author's email address. When this macro was last changed, the top level domain part of the email address was left behind. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * ptp: drivers: set the number of programmable pins.Richard Cochran2014-03-2112-0/+12
| | | | | | | | | | | | | | | | | | | | | | This patch updates the many PTP Hardware Clock drivers with the newly introduced field that advertises the number of programmable pins. Some of these devices do have programmable pins, but the implementation will have to wait for follow on patches. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * ptp: expose the programmable pins via sysfsRichard Cochran2014-03-213-0/+138
| | | | | | | | | | | | | | | | This patch adds the sysfs hooks needed in order to get and set the programmable pin settings. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * ptp: add the pin GET/SETFUNC ioctls to the testptp program.Richard Cochran2014-03-211-3/+55
| | | | | | | | | | | | | | | | | | | | This patch adds a option to the test program that lists the programmable pins on a PTP Hardware Clock device, assuming there are any such pins. A second option lets the user reprogram the auxiliary function of a single pin. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * ptp: introduce programmable pins.Richard Cochran2014-03-215-2/+226
|/ | | | | | | | | | This patch adds a pair of new ioctls to the PTP Hardware Clock device interface. Using the ioctls, user space programs can query each pin to find out its current function and also reprogram a different function if desired. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'bcmgenet-next'David S. Miller2014-03-202-14/+10
|\ | | | | | | | | | | | | | | | | | | | | | | Florian Fainelli says: ==================== net: bcmgenet: misc fixes This patch series contains some misc. fixes for the bcmgenet driver. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: bcmgenet: manipulate netdev_queue directlyFlorian Fainelli2014-03-201-4/+8
| | | | | | | | | | | | | | | | | | | | Instead of always invoking netdev_get_tx_queue() in bcmgenet_xmit() and bcmgenet_tx_reclaim(), just get the corresponding netdev_queue pointer once and for all and manipulate it throughout bcmgenet_xmit() and bcmgenet_tx_reclaim(). Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: bcmgenet: remove bogus tx queue checksFlorian Fainelli2014-03-201-8/+0
| | | | | | | | | | | | | | | | | | | | netdev_pick_tx already takes care of making sure that a given skb->queue_mapping value will remain within the number of advertised hardware queue number, there is no need to re-do this again in the driver. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: bcmgenet: add skb_tx_timestamp callFlorian Fainelli2014-03-201-0/+2
| | | | | | | | | | | | | | | | | | The BCMGENET driver was not TX timestamping the SKBs it queued for transmission, do this in bcmgenet_xmit() right before kicking the Transmit DMA engine. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: bcmgenet: remove unused spinlock memberFlorian Fainelli2014-03-202-2/+0
|/ | | | | | | The spinlock cookie in bcmgenet_priv is never used, get rid of it. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'sh_eth-next'David S. Miller2014-03-201-54/+31
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Laurent Pinchart says: ==================== sh_eth: Fix the race between open and MDIO bus registration This patch series fixes the race condition that exists in the sh_eth driver between network device open and MDIO bus registration. The actual fix is in patch 4/5, with previous patches preparing the driver and patch 5/5 cleaning up an unrelated issue. I've based the idea on Sergei's attempt to fix the problem and can successfully boot the Koelsch board over NFS with this series. I might have missed other issues though, hence the RFC status. The patches are based on top of the latest net-next master branch. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Remove goto statements that jump straight to a returnLaurent Pinchart2014-03-201-21/+9
| | | | | | | | | | | | | | | | | | | | "goto" is well accepted for error paths in the kernel but should not be used unnecessarily. Return the correct value directly instead of using a goto when possible. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Register MDIO bus before registering the network deviceLaurent Pinchart2014-03-201-11/+9
| | | | | | | | | | | | | | | | | | | | Network API functions that rely on the MDIO bus can be called as soon as the driver calls register_netdev(). Register the MDIO bus before the network device to avoid race conditions. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Simplify MDIO bus initialization and releaseLaurent Pinchart2014-03-201-19/+11
| | | | | | | | | | | | | | | | | | | | The network device passed to the sh_mdio_init and sh_mdio_release functions is only used to access the sh_eth_private instance. Pass it directly to those functions. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Use the platform device as the MDIO bus parentLaurent Pinchart2014-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | The MDIO bus parent is set to the network device. Beside not reflecting the hardware topology, this prevents registering the MDIO bus before initializing the network device. Fix it by setting the MDIO bus parent to the platform device. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Use the platform device for memory allocationLaurent Pinchart2014-03-201-4/+3
|/ | | | | | | | | | | | | | | | Memory allocated for the MDIO bus with the devm_kzalloc() API is associated with the network device. While this will cause memory to be freed at the right time, it doesn't allow allocating memory before the network device is initialized. Replace the network device with the parent platform device for memory allocation to remove that dependency. This also improves consistency with the other devm_* calls in the driver that all use the platform device. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* ieee802154: dgram: cleanup set of broadcast panidAlexander Aring2014-03-201-1/+1
| | | | | | | | | This patch is only a cleanup to use the right define for a panid field. The broadcast address and panid broadcast is still the same value. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Cc: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* af_ieee802154: fix check on broadcast addressAlexander Aring2014-03-201-1/+1
| | | | | | | | | | | | | | This patch fixes an issue which was introduced by commit b70ab2e87f17176d18f67ef331064441a032b5f3 ("ieee802154: enforce consistent endianness in the 802.15.4 stack"). The correct behaviour should be a check on the broadcast address field which is 0xffff. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Reported-by: Jan Luebbe <jlu@pengutronix.de> Cc: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* of_mdio: Allow the DT to specify the phy ID and avoid autoprobingJason Gunthorpe2014-03-201-1/+22
| | | | | | | | | | | | | | | | | | | | | This makes the generic of_mdiobus_register parse the DT compatible string for the pattern ethernet-phy-idAAAA.BBBB. If present it should be a value that matches the phy-id register normally readable through MDIO. When the ID is given the phy autoprobing is defeated and the phy is created directly. This is necessary to support phy's that cannot be autoprobed when of_mdiobus_register is called. Specifically, my case has the phy in reset at of_mdiobus_register, the reset is only released once the ethernet driver starts, before it attaches to the phy. Tested on ARM Kirkwood with phy id 0x01410e90 (Marvell 88E1318) Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* dt: Document a compatible entry for MDIO ethernet PhysJason Gunthorpe2014-03-201-1/+9
| | | | | | | | | | | | | | | This describes a compatible entry of the form: ethernet-phy-idAAAA,BBBB Which is modelled after the PCI structured compatible entry (pciVVVV,DDDD.SSSS.ssss.RR) If present the OF core will be able to use this information to directly create the correct phy without auto probing the bus. Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'cdc-next'David S. Miller2014-03-203-0/+30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ben Chan says: ==================== Adjust MTU as indicated by MBIM extended functional descriptor. The MBIM extended functional descriptor, defined in "Universal Serial Bus Communications Class Subclass Specification for Mobile Broadband Interface Model, Revision 1.0, Errata-1" by USB-IF, indicates the operator preferred MTU value via a wMTU field. This patch set ensures that the initial MTU value set by cdc_ncm on a MBIM net device does not exceed the wMTU value, provided the MBIM device exposes a MBIM extended functional descriptor. * Changelog v2: Fixed a le16_to_cpu conversion issue in patch 2/2 pointed out by Bjørn Mork <bjorn@mork.no> v3: No code changes. Resubmitted to include patch 1/2 as suggested by David Miller <davem@davemloft.net> v4: No code changes. Resubmitted as suggested by David Miller: - Added a summary of the patch set - Carried the ACK from Greg Kroah-Hartman <gregkh@linuxfoundation.org> - Added a specified the tree (net-next) to apply the patch set to ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: cdc_ncm: respect operator preferred MTU reported by MBIMBen Chan2014-03-202-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to "Universal Serial Bus Communications Class Subclass Specification for Mobile Broadband Interface Model, Revision 1.0, Errata-1" published by USB-IF, the wMTU field of the MBIM extended functional descriptor indicates the operator preferred MTU for IP data streams. This patch modifies cdc_ncm_setup to ensure that the MTU value set on the usbnet device does not exceed the operator preferred MTU indicated by wMTU if the MBIM device exposes a MBIM extended functional descriptor. Signed-off-by: Ben Chan <benchan@chromium.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * USB: cdc: add MBIM extended functional descriptor structureBen Chan2014-03-201-0/+12
|/ | | | | | | | | | | This patch adds the MBIM extended functional descriptor structure defined in "Universal Serial Bus Communications Class Subclass Specification for Mobile Broadband Interface Model, Revision 1.0, Errata-1" published by USB-IF. Signed-off-by: Ben Chan <benchan@chromium.org> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'mlx4-next'David S. Miller2014-03-2012-114/+676
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Or Gerlitz says: ==================== mlx4: Add support for single port VFs The mlx4 Firmware && driver expose both ports of the device through one PCI function. This can be non-optimal under virtualization schemes where the admin would like the VF to expose one interface to the VM, etc. This series from Matan Barak adds support for single ported VFs. Since all the VF interaction with the firmware passes through the PF driver, we can emulate to the VF they have one port, and further create a set of the VFs which act on port1 of the device and another set which acts on port2. Series done against net-next commit 3ab428a "netfilter: Add missing vmalloc.h include to nft_hash.c" Roland, we send this through netdev, but if you have comments, will love to hear them. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * net/mlx4: Adapt num_vfs/probed_vf params for single port VFMatan Barak2014-03-201-13/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new syntax is added for the module parameters num_vfs and probe_vf. num_vfs=p1,p2,p1+p2 probe_bf=p1,p2,p1+p2 Where p1(2) is the number of VFs on / probed VFs for physical port1(2) and p1+p2 is the number of dual port VFs. Single port VFs are currently supported only when the link type for both ports of the device is Ethernet. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net/mlx4: Adapt code for N-Port VFMatan Barak2014-03-2012-79/+417
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for N-Port VFs, this includes: 1. Adding support in the wrapped FW command In wrapped commands, we need to verify and convert the slave's port into the real physical port. Furthermore, when sending the response back to the slave, a reverse conversion should be made. 2. Adjusting sqpn for QP1 para-virtualization The slave assumes that sqpn is used for QP1 communication. If the slave is assigned to a port != (first port), we need to adjust the sqpn that will direct its QP1 packets into the correct endpoint. 3. Adjusting gid[5] to modify the port for raw ethernet In B0 steering, gid[5] contains the port. It needs to be adjusted into the physical port. 4. Adjusting number of ports in the query / ports caps in the FW commands When a slave queries the hardware, it needs to view only the physical ports it's assigned to. 5. Adjusting the sched_qp according to the port number The QP port is encoded in the sched_qp, thus in modify_qp we need to encode the correct port in sched_qp. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net/mlx4: Add utils for N-Port VFsMatan Barak2014-03-203-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the following utils: 1. Convert slave_id -> VF 2. Get the active ports by slave_id 3. Convert slave's port to real port 4. Get the slave's port from real port 5. Get all slaves that uses the i'th real port 6. Get all slaves that uses the i'th real port exclusively Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net/mlx4: Add data structures to support N-Ports per VFMatan Barak2014-03-202-24/+92
| | | | | | | | | | | | | | | | | | Adds the required data structures to support VFs with N (1 or 2) ports instead of always using the number of physical ports. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * IB/mlx4_ib: Adapt code to use caps.num_ports instead of a constantMatan Barak2014-03-201-4/+4
|/ | | | | | | | | | | Some code in the mlx4 IB driver stack assumed MLX4_MAX_PORTS ports. Instead, we should only loop until the number of actual ports in i the device, which is stored in dev->caps.num_ports. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* smsc911x: Change clock warning message to debug levelFabio Estevam2014-03-201-1/+1
| | | | | | | | | | | | Since passing the clock is not mandatory, change the warning message to debug, so that we avoid getting the following clock failure message on every boot: smsc911x: Driver version 2008-10-21 smsc911x smsc911x (unregistered net_device): couldn't get clock -2 libphy: smsc911x-mdio: probed Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: remove empty lines from tcp_syn_flood_actionDaniel Baluta2014-03-201-2/+0
| | | | | Signed-off-by: Daniel Baluta <dbaluta@ixiacom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2014-03-2015-206/+113
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates This series contains updates to e100, igb, igbvf, ixgbe and ixgbevf. Stefan adds a igb patch to enable the ability strip VLAN header information for packets bound for a VM on i350 hardware. Joe Perches provides patches for e100, igb, igbvf, ixgbe and ixgbevf to convert the use of __constant_<foo> to just <foo> to align with the rest of the kernel. Don provides two fixes for ixgbe, first resolves a link issue with DA cables where we were not always freeing the firmware/software semaphore after grabbing it. Second stops caching whether the management firmware was enabled, however since this is not static, we really need to verify with each check. Jacob provides six fixes/cleanups for ixgbe, most notably, correct the stop_mac_link_on d3() to check the Core Clock Disable bit before stopping link and to fully check to see if manage firmware is running or could be enabled before bringing down the link. Fix flow control auto-negation for KR/KX/K4 interfaces, since setting up MAC link, the cached autoc value and current autoc value were being incorrectly used to determine whether link reset is required. Emil provides a fix for ixgbe where there was a chance for aggressive start_ndo_zmit() callers to sneak packets between enabling the Tx queues and the link coming up. To resolve this, move the call to enable Tx queues to after the link is established. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud