lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 18 Jan 2014 20:11:07 +0100
From:	"Steinar H. Gunderson" <sgunderson@...foot.com>
To:	netdev@...r.kernel.org
Subject: IGMP joins come from the wrong SA/interface

Hi,

I have a relatively complicated setup at home with multiple VLANs, some
bridging etc., but what's most important is that multicast and unicast go
different directions (since my ISP doesn't support multicast, I have a PIM
tunnel terminated at a Cisco box). I'm running kernel 3.12.5.

My routing table looks like this:

  sesse@...gental:~$ sudo ip route
  default via 178.82.50.1 dev br0 
  10.1.0.0/24 dev eth0.2  proto kernel  scope link  src 10.1.0.1 
  10.3.0.0/24 dev eth0.3  proto kernel  scope link  src 10.3.0.1 
  178.82.50.0/23 dev br0  proto kernel  scope link  src 178.82.50.98 
  multicast 224.0.0.0/4 dev eth0.2  scope link  src 10.1.0.1 
  239.0.0.0/8 dev eth0.11  scope link 

Note especially the multicast line, which I've added as follows:

  sudo ip route add multicast 224.0.0.0/4 dev eth0.2 src 10.1.0.1 

Still, when trying to join a multicast group, the source address
is wrong:

  20:03:11.161288 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 40, options (RA))
      178.82.50.98 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 239.1.1.20 to_ex { }]
  20:03:11.161312 ethertype IPv4, IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 40, options (RA))
      178.82.50.98 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 239.1.1.20 to_ex { }]

It doesn't even come on eth0.2. I don't actually understand which
interface it comes up on (it doesn't show up on eth0.2, br0, or
any of the component devices of br0), but it shows up on the
“any” device in tcpdump, and on eth0, which I don't have a single
IPv4 address on.

It doesn't matter if I drop the “multicast” token from the ip route line.
Behavior is still exactly the same; it comes out of eth0 instead of eth0.2,
with the wrong source address.

This used to work, once upon a time, but I fear it broke during a
kernel upgrade. It's hard for me to say exactly when; probably
a few months ago. Any ideas?

/* Steinar */
-- 
Homepage: http://www.sesse.net/
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ