<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/net/batman-adv/bridge_loop_avoidance.c, branch v3.10.73</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.10.73</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.10.73'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2013-06-10T06:42:18+00:00</updated>
<entry>
<title>batman-adv: Don't handle address updates when bla is disabled</title>
<updated>2013-06-10T06:42:18+00:00</updated>
<author>
<name>Simon Wunderlich</name>
<email>simon@open-mesh.com</email>
</author>
<published>2013-06-07T14:52:05+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d5b4c93e67b0b1291aa8e2aaf694e40afc3412d0'/>
<id>urn:sha1:d5b4c93e67b0b1291aa8e2aaf694e40afc3412d0</id>
<content type='text'>
The bridge loop avoidance has a hook to handle address updates of the
originator. These should not be handled when bridge loop avoidance is
disabled - it might send some bridge loop avoidance packets which should
not appear if bla is disabled.

Signed-off-by: Simon Wunderlich &lt;simon@open-mesh.com&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
</content>
</entry>
<entry>
<title>net: vlan: add protocol argument to packet tagging functions</title>
<updated>2013-04-19T18:46:06+00:00</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2013-04-19T02:04:30+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=86a9bad3ab6b6f858fd4443b48738cabbb6d094c'/>
<id>urn:sha1:86a9bad3ab6b6f858fd4443b48738cabbb6d094c</id>
<content type='text'>
Add a protocol argument to the VLAN packet tagging functions. In case of HW
tagging, we need that protocol available in the ndo_start_xmit functions,
so it is stored in a new field in the skb. The new field fits into a hole
(on 64 bit) and doesn't increase the sks's size.

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hlist: drop the node parameter from iterators</title>
<updated>2013-02-28T03:10:24+00:00</updated>
<author>
<name>Sasha Levin</name>
<email>sasha.levin@oracle.com</email>
</author>
<published>2013-02-28T01:06:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b67bfe0d42cac56c512dd5da4b1b347a23f4b70a'/>
<id>urn:sha1:b67bfe0d42cac56c512dd5da4b1b347a23f4b70a</id>
<content type='text'>
I'm not sure why, but the hlist for each entry iterators were conceived

        list_for_each_entry(pos, head, member)

The hlist ones were greedy and wanted an extra parameter:

        hlist_for_each_entry(tpos, pos, head, member)

Why did they need an extra pos parameter? I'm not quite sure. Not only
they don't really need it, it also prevents the iterator from looking
exactly like the list iterator, which is unfortunate.

Besides the semantic patch, there was some manual work required:

 - Fix up the actual hlist iterators in linux/list.h
 - Fix up the declaration of other iterators based on the hlist ones.
 - A very small amount of places were using the 'node' parameter, this
 was modified to use 'obj-&gt;member' instead.
 - Coccinelle didn't handle the hlist_for_each_entry_safe iterator
 properly, so those had to be fixed up manually.

The semantic patch which is mostly the work of Peter Senna Tschudin is here:

@@
iterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;

type T;
expression a,c,d,e;
identifier b;
statement S;
@@

-T b;
    &lt;+... when != b
(
hlist_for_each_entry(a,
- b,
c, d) S
|
hlist_for_each_entry_continue(a,
- b,
c) S
|
hlist_for_each_entry_from(a,
- b,
c) S
|
hlist_for_each_entry_rcu(a,
- b,
c, d) S
|
hlist_for_each_entry_rcu_bh(a,
- b,
c, d) S
|
hlist_for_each_entry_continue_rcu_bh(a,
- b,
c) S
|
for_each_busy_worker(a, c,
- b,
d) S
|
ax25_uid_for_each(a,
- b,
c) S
|
ax25_for_each(a,
- b,
c) S
|
inet_bind_bucket_for_each(a,
- b,
c) S
|
sctp_for_each_hentry(a,
- b,
c) S
|
sk_for_each(a,
- b,
c) S
|
sk_for_each_rcu(a,
- b,
c) S
|
sk_for_each_from
-(a, b)
+(a)
S
+ sk_for_each_from(a) S
|
sk_for_each_safe(a,
- b,
c, d) S
|
sk_for_each_bound(a,
- b,
c) S
|
hlist_for_each_entry_safe(a,
- b,
c, d, e) S
|
hlist_for_each_entry_continue_rcu(a,
- b,
c) S
|
nr_neigh_for_each(a,
- b,
c) S
|
nr_neigh_for_each_safe(a,
- b,
c, d) S
|
nr_node_for_each(a,
- b,
c) S
|
nr_node_for_each_safe(a,
- b,
c, d) S
|
- for_each_gfn_sp(a, c, d, b) S
+ for_each_gfn_sp(a, c, d) S
|
- for_each_gfn_indirect_valid_sp(a, c, d, b) S
+ for_each_gfn_indirect_valid_sp(a, c, d) S
|
for_each_host(a,
- b,
c) S
|
for_each_host_safe(a,
- b,
c, d) S
|
for_each_mesh_entry(a,
- b,
c, d) S
)
    ...+&gt;

[akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]
[akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]
[akpm@linux-foundation.org: checkpatch fixes]
[akpm@linux-foundation.org: fix warnings]
[akpm@linux-foudnation.org: redo intrusive kvm changes]
Tested-by: Peter Senna Tschudin &lt;peter.senna@gmail.com&gt;
Acked-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
Cc: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Cc: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Cc: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>batman-adv: update copyright years</title>
<updated>2013-01-19T13:18:12+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>ordex@autistici.org</email>
</author>
<published>2013-01-04T02:05:31+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=0b87393146244c2dc31cb3c69c45f4948ca94ee1'/>
<id>urn:sha1:0b87393146244c2dc31cb3c69c45f4948ca94ee1</id>
<content type='text'>
Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
</content>
</entry>
<entry>
<title>batman-adv: rename batadv_claim struct to make clear it is used by bla</title>
<updated>2013-01-19T13:18:11+00:00</updated>
<author>
<name>Marek Lindner</name>
<email>lindner_marek@yahoo.de</email>
</author>
<published>2012-12-25T09:03:25+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=712bbfe46b3004603762adb506baff99be0f8d8c'/>
<id>urn:sha1:712bbfe46b3004603762adb506baff99be0f8d8c</id>
<content type='text'>
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
</content>
</entry>
<entry>
<title>batman-adv: rename batadv_backbone_gw struct to make clear it is used by bla</title>
<updated>2013-01-19T13:18:11+00:00</updated>
<author>
<name>Marek Lindner</name>
<email>lindner_marek@yahoo.de</email>
</author>
<published>2012-12-25T09:03:24+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bae987747150d8939bf385863f49e2647db15e2a'/>
<id>urn:sha1:bae987747150d8939bf385863f49e2647db15e2a</id>
<content type='text'>
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
</content>
</entry>
<entry>
<title>batman-adv: a delayed_work has to be initialised once</title>
<updated>2013-01-19T13:18:09+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>ordex@autistici.org</email>
</author>
<published>2012-12-25T12:14:37+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=7241444209f88f804ea33483394a601c1afb1d64'/>
<id>urn:sha1:7241444209f88f804ea33483394a601c1afb1d64</id>
<content type='text'>
A delayed_work struct does not need to be initialized each
every time before being enqueued. Therefore the
INIT_DELAYED_WORK() macro should be used during the
initialization process only.

Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
</content>
</entry>
<entry>
<title>batman-adv: use the const qualifier in hash functions</title>
<updated>2013-01-12T10:58:22+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@open-mesh.com</email>
</author>
<published>2012-12-07T13:35:36+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=467b5fe69716257ebe17a9df9c428ad32eba540a'/>
<id>urn:sha1:467b5fe69716257ebe17a9df9c428ad32eba540a</id>
<content type='text'>
The data argument in each hash function should carry the
"const" qualifier as it is never modified.

Signed-off-by: Antonio Quartulli &lt;antonio@open-mesh.com&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
</content>
</entry>
<entry>
<title>batman-adv: remove useless blank lines before and after brackets</title>
<updated>2013-01-12T10:58:21+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>ordex@autistici.org</email>
</author>
<published>2012-12-01T01:32:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=46d160ef887963f26fee2df3d3b99eab54637014'/>
<id>urn:sha1:46d160ef887963f26fee2df3d3b99eab54637014</id>
<content type='text'>
Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
</content>
</entry>
<entry>
<title>batman-adv: unify and properly print hex values</title>
<updated>2013-01-12T10:58:20+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>ordex@autistici.org</email>
</author>
<published>2012-11-19T08:01:43+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=39a329915889a220b5f2c3f2eb3d7fd892567715'/>
<id>urn:sha1:39a329915889a220b5f2c3f2eb3d7fd892567715</id>
<content type='text'>
Values are printed in hexadecimal format in several points in the
code, but they are not printed using the same format string.

This patches unifies the format used for such numbers so that they
look the same everywhere.

Given the fact that all the variables printed as hexadecimal are 16
bit long, this is the chosen printing format: %#.4x

Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
</content>
</entry>
</feed>
