misc/187980: Don't respod an IGMP query

Kensaku MASUDA kensaku.masuda at gmail.com
Wed Mar 26 19:20:02 UTC 2014


>Number:         187980
>Category:       misc
>Synopsis:       Don't respod an IGMP query
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 26 19:20:01 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Kensaku MASUDA
>Release:        9.2 STABLE/10 STABLE
>Organization:
none
>Environment:
FreeBSD yatagarasu.greg.jp 9.2-STABLE FreeBSD 9.2-STABLE #8 r262925: Sun Mar  9 03:46:16 JST 2014     root at yatagarasu.greg.jp:/usr/obj/usr/src/sys/GENERIC  amd64

FreeBSD test-freebsd.greg.jp 10.0-STABLE FreeBSD 10.0-STABLE #0 r263296M: Wed Mar 26 21:36:20 JST 2014     root at test-freebsd.greg.jp:/usr/src/sys/amd64/compile/ALTQ_MULTICAST_ROUTER  amd64
>Description:
  I have any freebsd boxies and others with multicast client/server. And I have found a problem that look like an one way multicast communication bewteen freebsd to freebsd.
Then, investigation noticed the strange point.

    1) freebsd box do NOT respond "IGMP QUERY" packet.
    2) At 1) time, increase "unknown/unsupported protocol" counter of "netstat -s -p ip".
    3) But querier of box is respond it.


>How-To-Repeat:

1) Following topology are builded.

+--------+ +---------+
|Other OS| |FreeBSD A|
+----+---+ +----+----+
     |          |
-----+----+-----+---------
          |
     +----+----+
     |FreeBSD B| <- pimdd or mrouted installed
     +----+----+
          |
----------+------+---------
                 |
            +----+----+
            |FreeBSD C|
            +---------+

2) FreeBSD B is muticast router(recommending pimdd, because mrouted look like a broken).
3) All boxes /wo FreeBSD B are joined same multicast 239.0.0.0/8.
4) All boxes transmit a multicast packet each other.

I think router can not detect a leaves on freebsd only segment.
And result of my enviroment are following.

Router# netstat -g
IPv4 Virtual Interface Table
 Vif   Thresh   Local-Address   Remote-Address    Pkts-In   Pkts-Out
  0         1   172.31.1.29                           185        198
  1         1   172.31.2.29                           198          0
  2         1   172.31.3.29                             0          0

IPv4 Multicast Forwarding Table
 Origin          Group             Packets In-Vif  Out-Vifs:Ttls
 172.31.1.144    239.255.255.250        24    0             <- Other OS
 172.31.2.254    239.255.255.250       198    1    0:1      <- FreeBSD C
 172.31.1.26     239.255.255.250       161    0             <- FreeBSD A


IPv6 Multicast Interface Table
 Mif   Rate   PhyIF   Pkts-In   Pkts-Out
   0      0     re1         0          0
   1      0     re2         0          0
   2      0     re3         0          0

FreeBSD-C% netstat -s -p igmp
igmp:
        1352 messages received
        0 messages received with too few bytes
        0 messages received with wrong TTL
        0 messages received with bad checksum
        1351 V1/V2 membership queries received
        0 V3 membership queries received
        0 membership queries received with invalid field(s)
        1351 general queries received
        0 group queries received
        0 group-source queries received
        0 group-source queries dropped
        0 membership reports received
        0 membership reports received with invalid field(s)
        0 membership reports received for groups to which we belong
        0 V3 reports received without Router Alert
        0 membership reports sent
FreeBSD-C% netstat -s -p ip
ip:
        135375673 total packets received
        0 bad header checksums
        0 with size smaller than minimum
        0 with data size < data length
        0 with ip length > max ip packet size
        0 with header length < data size
        0 with data length < header length
        0 with bad options
        0 with incorrect version number
        0 fragments received
        0 fragments dropped (dup or out of space)
        0 fragments dropped after timeout
        0 packets reassembled ok
        2397343 packets for this host
        36240 packets for unknown/unsupported protocol
        131467437 packets forwarded (0 packets fast forwarded)
        86 packets not forwardable
        0 packets received for unknown multicast group
        0 redirects sent
        2547682 packets sent from this host
        84 packets sent with fabricated ip header
        0 output packets dropped due to no bufs, etc.
        0 output packets discarded due to no route
        2858 output datagrams fragmented
        5900 fragments created
        0 datagrams that can't be fragmented
        0 tunneling packets that can't find gif
        1 datagram with bad address in header

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list