<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/802/mrp.c, branch v4.9.123</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>net: replace macros net_random and net_srandom with direct calls to prandom</title>
<updated>2014-01-14T23:15:25+00:00</updated>
<author>
<name>Aruna-Hewapathirane</name>
<email>aruna.hewapathirane@gmail.com</email>
</author>
<published>2014-01-11T12:15:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=63862b5bef7349dd1137e4c70702c67d77565785'/>
<id>63862b5bef7349dd1137e4c70702c67d77565785</id>
<content type='text'>
This patch removes the net_random and net_srandom macros and replaces
them with direct calls to the prandom ones. As new commits only seem to
use prandom_u32 there is no use to keep them around.
This change makes it easier to grep for users of prandom_u32.

Signed-off-by: Aruna-Hewapathirane &lt;aruna.hewapathirane@gmail.com&gt;
Suggested-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch removes the net_random and net_srandom macros and replaces
them with direct calls to the prandom ones. As new commits only seem to
use prandom_u32 there is no use to keep them around.
This change makes it easier to grep for users of prandom_u32.

Signed-off-by: Aruna-Hewapathirane &lt;aruna.hewapathirane@gmail.com&gt;
Suggested-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mrp: add periodictimer to allow retries when packets get lost</title>
<updated>2013-09-23T20:53:52+00:00</updated>
<author>
<name>Noel Burton-Krahn</name>
<email>noel@burton-krahn.com</email>
</author>
<published>2013-09-18T19:24:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9fe34f5d920b183ec063550e0f4ec854aa373316'/>
<id>9fe34f5d920b183ec063550e0f4ec854aa373316</id>
<content type='text'>
MRP doesn't implement the periodictimer in 802.1Q, so it never retries
if packets get lost.  I ran into this problem when MRP sent a MVRP
JoinIn before the interface was fully up.  The JoinIn was lost, MRP
didn't retry, and MVRP registration failed.

Tested against Juniper QFabric switches

Signed-off-by: Noel Burton-Krahn &lt;noel@burton-krahn.com&gt;
Acked-by: David Ward &lt;david.ward@ll.mit.edu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MRP doesn't implement the periodictimer in 802.1Q, so it never retries
if packets get lost.  I ran into this problem when MRP sent a MVRP
JoinIn before the interface was fully up.  The JoinIn was lost, MRP
didn't retry, and MVRP registration failed.

Tested against Juniper QFabric switches

Signed-off-by: Noel Burton-Krahn &lt;noel@burton-krahn.com&gt;
Acked-by: David Ward &lt;david.ward@ll.mit.edu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/802/mrp: fix lockdep splat</title>
<updated>2013-05-14T20:02:30+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-05-13T02:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=faff57a92ba1d7247c5e86ecea2886d2c9d54507'/>
<id>faff57a92ba1d7247c5e86ecea2886d2c9d54507</id>
<content type='text'>
commit fb745e9a037895 ("net/802/mrp: fix possible race condition when
calling mrp_pdu_queue()") introduced a lockdep splat.

[   19.735147] =================================
[   19.735235] [ INFO: inconsistent lock state ]
[   19.735324] 3.9.2-build-0063 #4 Not tainted
[   19.735412] ---------------------------------
[   19.735500] inconsistent {IN-SOFTIRQ-W} -&gt; {SOFTIRQ-ON-W} usage.
[   19.735592] rmmod/1840 [HC0[0]:SC0[0]:HE1:SE1] takes:
[   19.735682]  (&amp;(&amp;app-&gt;lock)-&gt;rlock#2){+.?...}, at: [&lt;f862bb5b&gt;]
mrp_uninit_applicant+0x69/0xba [mrp]

app-&gt;lock is normally taken under softirq context, so disable BH to
avoid the splat.

Reported-by: Denys Fedoryshchenko &lt;denys@visp.net.lb&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: David Ward &lt;david.ward@ll.mit.edu&gt;
Cc: Cong Wang &lt;amwang@redhat.com&gt;
Tested-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit fb745e9a037895 ("net/802/mrp: fix possible race condition when
calling mrp_pdu_queue()") introduced a lockdep splat.

[   19.735147] =================================
[   19.735235] [ INFO: inconsistent lock state ]
[   19.735324] 3.9.2-build-0063 #4 Not tainted
[   19.735412] ---------------------------------
[   19.735500] inconsistent {IN-SOFTIRQ-W} -&gt; {SOFTIRQ-ON-W} usage.
[   19.735592] rmmod/1840 [HC0[0]:SC0[0]:HE1:SE1] takes:
[   19.735682]  (&amp;(&amp;app-&gt;lock)-&gt;rlock#2){+.?...}, at: [&lt;f862bb5b&gt;]
mrp_uninit_applicant+0x69/0xba [mrp]

app-&gt;lock is normally taken under softirq context, so disable BH to
avoid the splat.

Reported-by: Denys Fedoryshchenko &lt;denys@visp.net.lb&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: David Ward &lt;david.ward@ll.mit.edu&gt;
Cc: Cong Wang &lt;amwang@redhat.com&gt;
Tested-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/802/mrp: fix possible race condition when calling mrp_pdu_queue()</title>
<updated>2013-04-12T19:10:48+00:00</updated>
<author>
<name>David Ward</name>
<email>david.ward@ll.mit.edu</email>
</author>
<published>2013-04-11T13:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fb745e9a037895321781d066aa24757ceabf9df9'/>
<id>fb745e9a037895321781d066aa24757ceabf9df9</id>
<content type='text'>
(Adapted from a very similar change to net/802/garp.c by Cong Wang.)

mrp_pdu_queue() should ways be called with the applicant spin lock.
mrp_uninit_applicant() only holds the rtnl lock which is not enough;
a race is possible because mrp_rcv() is called in BH context:

	mrp_rcv()
	  |-&gt;mrp_pdu_parse_msg()
	    |-&gt;mrp_pdu_parse_vecattr()
	      |-&gt;mrp_pdu_parse_vecattr_event()
	        |-&gt; mrp_attr_event()
	          |-&gt; mrp_pdu_append_vecattr_event()
	            |-&gt; mrp_pdu_queue()

Cc: Cong Wang &lt;amwang@redhat.com&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David Ward &lt;david.ward@ll.mit.edu&gt;
Acked-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(Adapted from a very similar change to net/802/garp.c by Cong Wang.)

mrp_pdu_queue() should ways be called with the applicant spin lock.
mrp_uninit_applicant() only holds the rtnl lock which is not enough;
a race is possible because mrp_rcv() is called in BH context:

	mrp_rcv()
	  |-&gt;mrp_pdu_parse_msg()
	    |-&gt;mrp_pdu_parse_vecattr()
	      |-&gt;mrp_pdu_parse_vecattr_event()
	        |-&gt; mrp_attr_event()
	          |-&gt; mrp_pdu_append_vecattr_event()
	            |-&gt; mrp_pdu_queue()

Cc: Cong Wang &lt;amwang@redhat.com&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David Ward &lt;david.ward@ll.mit.edu&gt;
Acked-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mrp: make mrp_rcv static</title>
<updated>2013-02-11T19:16:26+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>stephen@networkplumber.org</email>
</author>
<published>2013-02-11T06:25:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7e307c67c94619fa53b22735673fbf99b427e760'/>
<id>7e307c67c94619fa53b22735673fbf99b427e760</id>
<content type='text'>
Sparse spotted local function that could be static.

Signed-off-by: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sparse spotted local function that could be static.

Signed-off-by: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/802: Implement Multiple Registration Protocol (MRP)</title>
<updated>2013-02-11T01:37:22+00:00</updated>
<author>
<name>David Ward</name>
<email>david.ward@ll.mit.edu</email>
</author>
<published>2013-02-08T17:17:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=febf018d22347b5df94066bca05d0c11a84e839d'/>
<id>febf018d22347b5df94066bca05d0c11a84e839d</id>
<content type='text'>
Initial implementation of the Multiple Registration Protocol (MRP)
from IEEE 802.1Q-2011, based on the existing implementation of the
Generic Attribute Registration Protocol (GARP).

Signed-off-by: David Ward &lt;david.ward@ll.mit.edu&gt;
Acked-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Initial implementation of the Multiple Registration Protocol (MRP)
from IEEE 802.1Q-2011, based on the existing implementation of the
Generic Attribute Registration Protocol (GARP).

Signed-off-by: David Ward &lt;david.ward@ll.mit.edu&gt;
Acked-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
