22 Mar, 2014
22 commits
-
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
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
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
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
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
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
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
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
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
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
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
Signed-off-by: Marek Lindner -
Reported-by: Sven Eckelmann
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
Reported-by: Antonio Quartulli
Signed-off-by: Simon Wunderlich
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
On some architectures ether_addr_copy() is slightly faster
than memcpy() therefore use the former when possible.Signed-off-by: Antonio Quartulli
Signed-off-by: Marek Lindner -
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
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
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
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
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
Signed-off-by: Martin Hundebøll
Signed-off-by: Marek Lindner
Signed-off-by: Antonio Quartulli -
Richard Cochran says:
====================
ptp: dynamic pin controlThis 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
-
This patch changes the driver use the new pin configuration method when
programming the periodic output signal.Signed-off-by: Richard Cochran
Signed-off-by: David S. Miller -
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
Signed-off-by: David S. Miller -
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
Signed-off-by: David S. Miller -
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
Signed-off-by: David S. Miller -
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
Signed-off-by: David S. Miller -
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
Acked-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch adds the sysfs hooks needed in order to get and set the
programmable pin settings.Signed-off-by: Richard Cochran
Signed-off-by: David S. Miller -
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
Signed-off-by: David S. Miller -
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
Signed-off-by: David S. Miller
21 Mar, 2014
18 commits
-
Florian Fainelli says:
====================
net: bcmgenet: misc fixesThis patch series contains some misc. fixes for the bcmgenet driver.
====================Signed-off-by: David S. Miller
-
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
Signed-off-by: David S. Miller -
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
Signed-off-by: David S. Miller -
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
Signed-off-by: David S. Miller -
The spinlock cookie in bcmgenet_priv is never used, get rid of it.
Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
Laurent Pinchart says:
====================
sh_eth: Fix the race between open and MDIO bus registrationThis 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
-
"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
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
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
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
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
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
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
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
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
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
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
Cc: Phoebe Buckheister
Signed-off-by: David S. Miller -
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
Reported-by: Jan Luebbe
Cc: Phoebe Buckheister
Signed-off-by: David S. Miller -
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
Acked-by: Florian Fainelli
Acked-by: Rob Herring
Signed-off-by: David S. Miller -
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
Acked-by: Rob Herring
Acked-by: Florian Fainelli
Signed-off-by: David S. Miller -
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
v3: No code changes. Resubmitted to include patch 1/2 as suggested by
David Miller
v4: No code changes. Resubmitted as suggested by David Miller:
- Added a summary of the patch set
- Carried the ACK from Greg Kroah-Hartman
- Added a specified the tree (net-next) to apply the patch set to
====================Signed-off-by: David S. Miller
-
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
Signed-off-by: David S. Miller -
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
Acked-by: Greg Kroah-Hartman
Signed-off-by: David S. Miller