<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux-stable.git/net/bridge, branch linux-2.6.39.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-2.6.39.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-2.6.39.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/'/>
<updated>2011-08-03T19:42:49+00:00</updated>
<entry>
<title>bridge: send proper message_age in config BPDU</title>
<updated>2011-08-03T19:42:49+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2011-07-22T07:47:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=2cfb25e6c60e5c5e0b93cf5ea26ba85200cca532'/>
<id>urn:sha1:2cfb25e6c60e5c5e0b93cf5ea26ba85200cca532</id>
<content type='text'>
commit 0c03150e7ea8f7fcd03cfef29385e0010b22ee92 upstream.

A bridge topology with three systems:

      +------+  +------+
      | A(2) |--| B(1) |
      +------+  +------+
           \    /
          +------+
          | C(3) |
          +------+

What is supposed to happen:
 * bridge with the lowest ID is elected root (for example: B)
 * C detects that A-&gt;C is higher cost path and puts in blocking state

What happens. Bridge with lowest id (B) is elected correctly as
root and things start out fine initially. But then config BPDU
doesn't get transmitted from A -&gt; C. Because of that
the link from A-C is transistioned to the forwarding state.

The root cause of this is that the configuration messages
is generated with bogus message age, and dropped before
sending.

In the standardmessage_age is supposed to be:
  the time since the generation of the Configuration BPDU by
  the Root that instigated the generation of this Configuration BPDU.

Reimplement this by recording the timestamp (age + jiffies) when
recording config information. The old code incorrectly used the time
elapsed on the ageing timer which was incorrect.

See also:
  https://bugzilla.vyatta.com/show_bug.cgi?id=7164

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>bridge: provide a cow_metrics method for fake_ops</title>
<updated>2011-07-09T06:14:54+00:00</updated>
<author>
<name>Alexander Holler</name>
<email>holler@ahsoftware.de</email>
</author>
<published>2011-06-07T07:51:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=fac1e65a8e5f16105f47eaed0e7d8d53273cb5ee'/>
<id>urn:sha1:fac1e65a8e5f16105f47eaed0e7d8d53273cb5ee</id>
<content type='text'>
[ Upstream commit 6407d74c5106bb362b4087693688afd34942b094 ]

Like in commit 0972ddb237 (provide cow_metrics() methods to blackhole
dst_ops), we must provide a cow_metrics for bridges fake_dst_ops as
well.

This fixes a regression coming from commits 62fa8a846d7d (net: Implement
read-only protection and COW'ing of metrics.) and 33eb9873a28 (bridge:
initialize fake_rtable metrics)

ip link set mybridge mtu 1234
--&gt;
[  136.546243] Pid: 8415, comm: ip Tainted: P
2.6.39.1-00006-g40545b7 #103 ASUSTeK Computer Inc.         V1Sn
        /V1Sn
[  136.546256] EIP: 0060:[&lt;00000000&gt;] EFLAGS: 00010202 CPU: 0
[  136.546268] EIP is at 0x0
[  136.546273] EAX: f14a389c EBX: 000005d4 ECX: f80d32c0 EDX: f80d1da1
[  136.546279] ESI: f14a3000 EDI: f255bf10 EBP: f15c3b54 ESP: f15c3b48
[  136.546285]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[  136.546293] Process ip (pid: 8415, ti=f15c2000 task=f4741f80
task.ti=f15c2000)
[  136.546297] Stack:
[  136.546301]  f80c658f f14a3000 ffffffed f15c3b64 c12cb9c8 f80d1b80
ffffffa1 f15c3bbc
[  136.546315]  c12da347 c12d9c7d 00000000 f7670b00 00000000 f80d1b80
ffffffa6 f15c3be4
[  136.546329]  00000004 f14a3000 f255bf20 00000008 f15c3bbc c11d6cae
00000000 00000000
[  136.546343] Call Trace:
[  136.546359]  [&lt;f80c658f&gt;] ? br_change_mtu+0x5f/0x80 [bridge]
[  136.546372]  [&lt;c12cb9c8&gt;] dev_set_mtu+0x38/0x80
[  136.546381]  [&lt;c12da347&gt;] do_setlink+0x1a7/0x860
[  136.546390]  [&lt;c12d9c7d&gt;] ? rtnl_fill_ifinfo+0x9bd/0xc70
[  136.546400]  [&lt;c11d6cae&gt;] ? nla_parse+0x6e/0xb0
[  136.546409]  [&lt;c12db931&gt;] rtnl_newlink+0x361/0x510
[  136.546420]  [&lt;c1023240&gt;] ? vmalloc_sync_all+0x100/0x100
[  136.546429]  [&lt;c1362762&gt;] ? error_code+0x5a/0x60
[  136.546438]  [&lt;c12db5d0&gt;] ? rtnl_configure_link+0x80/0x80
[  136.546446]  [&lt;c12db27a&gt;] rtnetlink_rcv_msg+0xfa/0x210
[  136.546454]  [&lt;c12db180&gt;] ? __rtnl_unlock+0x20/0x20
[  136.546463]  [&lt;c12ee0fe&gt;] netlink_rcv_skb+0x8e/0xb0
[  136.546471]  [&lt;c12daf1c&gt;] rtnetlink_rcv+0x1c/0x30
[  136.546479]  [&lt;c12edafa&gt;] netlink_unicast+0x23a/0x280
[  136.546487]  [&lt;c12ede6b&gt;] netlink_sendmsg+0x26b/0x2f0
[  136.546497]  [&lt;c12bb828&gt;] sock_sendmsg+0xc8/0x100
[  136.546508]  [&lt;c10adf61&gt;] ? __alloc_pages_nodemask+0xe1/0x750
[  136.546517]  [&lt;c11d0602&gt;] ? _copy_from_user+0x42/0x60
[  136.546525]  [&lt;c12c5e4c&gt;] ? verify_iovec+0x4c/0xc0
[  136.546534]  [&lt;c12bd805&gt;] sys_sendmsg+0x1c5/0x200
[  136.546542]  [&lt;c10c2150&gt;] ? __do_fault+0x310/0x410
[  136.546549]  [&lt;c10c2c46&gt;] ? do_wp_page+0x1d6/0x6b0
[  136.546557]  [&lt;c10c47d1&gt;] ? handle_pte_fault+0xe1/0x720
[  136.546565]  [&lt;c12bd1af&gt;] ? sys_getsockname+0x7f/0x90
[  136.546574]  [&lt;c10c4ec1&gt;] ? handle_mm_fault+0xb1/0x180
[  136.546582]  [&lt;c1023240&gt;] ? vmalloc_sync_all+0x100/0x100
[  136.546589]  [&lt;c10233b3&gt;] ? do_page_fault+0x173/0x3d0
[  136.546596]  [&lt;c12bd87b&gt;] ? sys_recvmsg+0x3b/0x60
[  136.546605]  [&lt;c12bdd83&gt;] sys_socketcall+0x293/0x2d0
[  136.546614]  [&lt;c13629d0&gt;] sysenter_do_call+0x12/0x26
[  136.546619] Code:  Bad EIP value.
[  136.546627] EIP: [&lt;00000000&gt;] 0x0 SS:ESP 0068:f15c3b48
[  136.546645] CR2: 0000000000000000
[  136.546652] ---[ end trace 6909b560e78934fa ]---

Signed-off-by: Alexander Holler &lt;holler@ahsoftware.de&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>bridge: initialize fake_rtable metrics</title>
<updated>2011-06-03T00:31:56+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-05-24T17:32:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=42923465fb8d025a2b5153f2e7ab1e6e1058bf00'/>
<id>urn:sha1:42923465fb8d025a2b5153f2e7ab1e6e1058bf00</id>
<content type='text'>
[ Upstream commit 33eb9873a283a2076f2b5628813d5365ca420ea9 ]

bridge netfilter code uses a fake_rtable, and we must init its _metric
field or risk NULL dereference later.

Ref: https://bugzilla.kernel.org/show_bug.cgi?id=35672

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>bridge: fix forwarding of IPv6</title>
<updated>2011-05-13T20:03:24+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2011-05-13T20:03:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=cb68552858c64db302771469b1202ea09e696329'/>
<id>urn:sha1:cb68552858c64db302771469b1202ea09e696329</id>
<content type='text'>
The commit 6b1e960fdbd75dcd9bcc3ba5ff8898ff1ad30b6e
    bridge: Reset IPCB when entering IP stack on NF_FORWARD
broke forwarding of IPV6 packets in bridge because it would
call bp_parse_ip_options with an IPV6 packet.

Reported-by: Noah Meyerhans &lt;noahm@debian.org&gt;
Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Reviewed-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netfilter: ebtables: only call xt_compat_add_offset once per rule</title>
<updated>2011-05-10T07:52:17+00:00</updated>
<author>
<name>Florian Westphal</name>
<email>fw@strlen.de</email>
</author>
<published>2011-04-21T08:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=103a9778e07bcc0cd34b5c35a87281454eec719e'/>
<id>urn:sha1:103a9778e07bcc0cd34b5c35a87281454eec719e</id>
<content type='text'>
The optimizations in commit 255d0dc34068a976
(netfilter: x_table: speedup compat operations) assume that
xt_compat_add_offset is called once per rule.

ebtables however called it for each match/target found in a rule.

The match/watcher/target parser already returns the needed delta, so it
is sufficient to move the xt_compat_add_offset call to a more reasonable
location.

While at it, also get rid of the unused COMPAT iterator macros.

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>netfilter: fix ebtables compat support</title>
<updated>2011-05-10T07:48:59+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-04-21T08:57:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=5a6351eecf8c87afed9c883bb6341d09406d74ba'/>
<id>urn:sha1:5a6351eecf8c87afed9c883bb6341d09406d74ba</id>
<content type='text'>
commit 255d0dc34068a976 (netfilter: x_table: speedup compat operations)
made ebtables not working anymore.

1) xt_compat_calc_jump() is not an exact match lookup
2) compat_table_info() has a typo in xt_compat_init_offsets() call
3) compat_do_replace() misses a xt_compat_init_offsets() call

Reported-by: dann frazier &lt;dannf@dannf.org&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>Revert "bridge: Forward reserved group addresses if !STP"</title>
<updated>2011-04-22T04:17:25+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-04-22T04:17:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=f01cb5fbea1c1613621f9f32f385e12c1a29dde0'/>
<id>urn:sha1:f01cb5fbea1c1613621f9f32f385e12c1a29dde0</id>
<content type='text'>
This reverts commit 1e253c3b8a1aeed51eef6fc366812f219b97de65.

It breaks 802.3ad bonding inside of a bridge.

The commit was meant to support transport bridging, and specifically
virtual machines bridged to an ethernet interface connected to a
switch port wiht 802.1x enabled.

But this isn't the way to do it, it breaks too many other things.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>bridge: reset IPCB in br_parse_ip_options</title>
<updated>2011-04-12T20:39:14+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-04-12T20:39:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=f8e9881c2aef1e982e5abc25c046820cd0b7cf64'/>
<id>urn:sha1:f8e9881c2aef1e982e5abc25c046820cd0b7cf64</id>
<content type='text'>
Commit 462fb2af9788a82 (bridge : Sanitize skb before it enters the IP
stack), missed one IPCB init before calling ip_options_compile()

Thanks to Scot Doyle for his tests and bug reports.

Reported-by: Scot Doyle &lt;lkml@scotdoyle.com&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Hiroaki SHIMODA &lt;shimoda.hiroaki@gmail.com&gt;
Acked-by: Bandan Das &lt;bandan.das@stratus.com&gt;
Acked-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Cc: Jan Lübbe &lt;jluebbe@debian.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6</title>
<updated>2011-04-07T18:14:49+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-04-07T18:14:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=42933bac11e811f02200c944d8562a15f8ec4ff0'/>
<id>urn:sha1:42933bac11e811f02200c944d8562a15f8ec4ff0</id>
<content type='text'>
* 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6:
  Fix common misspellings
</content>
</entry>
<entry>
<title>Fix common misspellings</title>
<updated>2011-03-31T14:26:23+00:00</updated>
<author>
<name>Lucas De Marchi</name>
<email>lucas.demarchi@profusion.mobi</email>
</author>
<published>2011-03-31T01:57:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=25985edcedea6396277003854657b5f3cb31a628'/>
<id>urn:sha1:25985edcedea6396277003854657b5f3cb31a628</id>
<content type='text'>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</content>
</entry>
</feed>
