<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/dsa/slave.c, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-10-12T09:56:05Z</updated>
<entry>
<title>net: dsa: Fix network device registration order</title>
<updated>2017-10-12T09:56:05Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2017-09-25T22:55:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0265e1449bc0765103eec176232d2bbc070a991a'/>
<id>urn:sha1:0265e1449bc0765103eec176232d2bbc070a991a</id>
<content type='text'>
[ Upstream commit e804441cfe0b60f6c430901946a69c01eac09df1 ]

We cannot be registering the network device first, then setting its
carrier off and finally connecting it to a PHY, doing that leaves a
window during which the carrier is at best inconsistent, and at worse
the device is not usable without a down/up sequence since the network
device is visible to user space with possibly no PHY device attached.

Re-order steps so that they make logical sense. This fixes some devices
where the port was not usable after e.g: an unbind then bind of the
driver.

Fixes: 0071f56e46da ("dsa: Register netdev before phy")
Fixes: 91da11f870f0 ("net: Distributed Switch Architecture protocol support")
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: dsa: Introduce dsa_get_cpu_port()</title>
<updated>2017-06-13T20:35:03Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2017-06-13T20:27:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3cc9f2573cdcbc6991aa2d1c8e04a4b9190487f8'/>
<id>urn:sha1:3cc9f2573cdcbc6991aa2d1c8e04a4b9190487f8</id>
<content type='text'>
Introduce a helper function which will return a reference to the CPU
port used in a dsa_switch_tree. Right now this is a singleton, but this
will change once we introduce multi-CPU port support, so ease the
transition by converting the affected code paths.

Reviewed-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: Associate slave network device with CPU port</title>
<updated>2017-06-13T20:35:03Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2017-06-13T20:27:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a29342e739115211615acc33616e547b2d3e0663'/>
<id>urn:sha1:a29342e739115211615acc33616e547b2d3e0663</id>
<content type='text'>
In preparation for supporting multiple CPU ports with DSA, have the
dsa_port structure know which CPU it is associated with. This will be
important in order to make sure the correct CPU is used for transmission
of the frames. If not for functional reasons, for performance (e.g: load
balancing) and forwarding decisions.

Reviewed-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: Relocate master ethtool operations</title>
<updated>2017-06-13T20:35:02Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2017-06-13T20:27:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=67dbb9d433447e358de7d293f15318bb5db9529b'/>
<id>urn:sha1:67dbb9d433447e358de7d293f15318bb5db9529b</id>
<content type='text'>
Relocate master_ethtool_ops and master_orig_ethtool_ops into struct
dsa_port in order to be both consistent, and make things self contained
within the dsa_port structure.

This is a preliminary change to supporting multiple CPU port interfaces.

Reviewed-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: Remove master_netdev and use dst-&gt;cpu_dp-&gt;netdev</title>
<updated>2017-06-13T20:35:02Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2017-06-13T20:27:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d3c8c0dd88a5ffc7e3695997641e4b6d4c11065'/>
<id>urn:sha1:6d3c8c0dd88a5ffc7e3695997641e4b6d4c11065</id>
<content type='text'>
In preparation for supporting multiple CPU ports, remove
dst-&gt;master_netdev and ds-&gt;master_netdev and replace them with only one
instance of the common object we have for a port: struct
dsa_port::netdev. ds-&gt;master_netdev is currently write only and would be
helpful in the case where we have two switches, both with CPU ports, and
also connected within each other, which the multi-CPU port patch series
would address.

While at it, introduce a helper function used in net/dsa/slave.c to
immediately get a reference on the master network device called
dsa_master_netdev().

Reviewed-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: Make phy_ethtool_ksettings_get return void</title>
<updated>2017-06-13T16:59:06Z</updated>
<author>
<name>yuval.shaia@oracle.com</name>
</author>
<published>2017-06-13T07:09:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5514174fe9c61c83bd8781c1e048ea6b4bf16a14'/>
<id>urn:sha1:5514174fe9c61c83bd8781c1e048ea6b4bf16a14</id>
<content type='text'>
Make return value void since function never return meaningfull value

Signed-off-by: Yuval Shaia &lt;yuval.shaia@oracle.com&gt;
Acked-by: Sergei Shtylyov &lt;sergei.shtylyov@cogentembedded.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: propagate tc filter chain index down the ndo_setup_tc call</title>
<updated>2017-06-08T13:55:53Z</updated>
<author>
<name>Jiri Pirko</name>
</author>
<published>2017-06-06T15:00:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a5fcf8a6c968ed8e312ff0b2a55d4c62d821eabb'/>
<id>urn:sha1:a5fcf8a6c968ed8e312ff0b2a55d4c62d821eabb</id>
<content type='text'>
We need to push the chain index down to the drivers, so they have the
information to which chain the rule belongs. For now, no driver supports
multichain offload, so only chain 0 is supported. This is needed to
prevent chain squashes during offload for now. Later this will be used
to implement multichain offload.

Signed-off-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: factor skb freeing on xmit</title>
<updated>2017-06-01T21:34:56Z</updated>
<author>
<name>Vivien Didelot</name>
</author>
<published>2017-06-01T20:07:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fe47d563065c91cd30088d9b118b79d44905be6f'/>
<id>urn:sha1:fe47d563065c91cd30088d9b118b79d44905be6f</id>
<content type='text'>
As of a86d8becc3f0 ("net: dsa: Factor bottom tag receive functions"),
the rcv caller frees the original SKB in case or error.

Be symmetric with that and make the xmit caller do the same.

At the same time, fix the checkpatch NULL comparison check:

        CHECK: Comparison to NULL could be written "!nskb"
    #208: FILE: net/dsa/tag_trailer.c:35:
    +	if (nskb == NULL)

Signed-off-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: remove dsa_port_is_bridged</title>
<updated>2017-05-30T22:13:41Z</updated>
<author>
<name>Vivien Didelot</name>
</author>
<published>2017-05-26T22:12:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f3d736c478adbe46234c35b2ef9b55a11dd01d7c'/>
<id>urn:sha1:f3d736c478adbe46234c35b2ef9b55a11dd01d7c</id>
<content type='text'>
The helper is only used once and makes the code more complicated that it
should. Remove it and reorganize the variables so that it fits on 80
columns.

Signed-off-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: move VLAN handlers</title>
<updated>2017-05-22T23:37:32Z</updated>
<author>
<name>Vivien Didelot</name>
</author>
<published>2017-05-19T21:00:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=076e713365c9f4ca1ff3eca9122664a5359b94da'/>
<id>urn:sha1:076e713365c9f4ca1ff3eca9122664a5359b94da</id>
<content type='text'>
Move the DSA port code which handles VLAN objects in port.c, where it
belongs.

Signed-off-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
