Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jan 2019 02:43:40 +0000
From:      bugzilla-noreply@freebsd.org
To:        net@FreeBSD.org
Subject:   [Bug 233535] Fix refcount leak in IPv6 MLD code leading to loss of IPv6 connectivity
Message-ID:  <bug-233535-7501-VRLdzhoo03@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-233535-7501@https.bugs.freebsd.org/bugzilla/>
References:  <bug-233535-7501@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D233535

--- Comment #30 from Andrey V. Elsukov <ae@FreeBSD.org> ---
(In reply to Hans Petter Selasky from comment #27)
> Created attachment 200956 [details]
> Fix MLD refcounting in IPv6 code.
>=20
> Hi,
>=20
> Please test this patch while watching:
>=20
> vmstat -m | grep multi

It still leaks. The memory leak is unimportant problem. The much worse is t=
hat
system leaves multicast groups when you do an address configuration several
times. When system leaves multicast groups, it stops respond to ND6 NS, and
becomes unresponsive for neighbors.

# vmstat -m | grep multi
  ether_multi    61     5K       -      135  16,32,64,128
     in_multi     2     1K       -        3  256
    in6_multi    33     6K       -       73  32,256
# ifmcstat -i re0
re0:
        inet 10.9.8.12
        igmpv2
                group 224.0.0.1 mode exclude
                        mcast-macaddr 01:00:5e:00:00:01
        inet6 fe80::1ebd:b9ff:fede:d7d%re0 scopeid 0x2
        mldv1 flags=3D2<USEALLOW>
                group ff01::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01
                group ff02::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01
# ifconfig re0 inet6 fc00::1
# vmstat -m | grep multi
  ether_multi    76     6K       -      150  16,32,64,128
     in_multi     2     1K       -        3  256
    in6_multi    39     7K       -       81  32,256
# ifmcstat -i re0
re0:
        inet6 fe80::1ebd:b9ff:fede:d7d%re0 scopeid 0x2
        mldv1 flags=3D2<USEALLOW>
                group ff02::2:d4f1:c447%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:d4:f1:c4:47
                group ff02::2:ffd4:f1c4%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:ff:d4:f1:c4
                group ff02::1:ff00:1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:ff:00:00:01
        inet 10.9.8.12
        igmpv2
                group 224.0.0.1 mode exclude
                        mcast-macaddr 01:00:5e:00:00:01
        inet6 fe80::1ebd:b9ff:fede:d7d%re0 scopeid 0x2
        mldv1 flags=3D2<USEALLOW>
                group ff01::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01
                group ff02::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01

# ifconfig re0 inet6 fc00::1
# vmstat -m | grep multi
  ether_multi    70     6K       -      165  16,32,64,128
     in_multi     2     1K       -        3  256
    in6_multi    36     6K       -       89  32,256
# ifmcstat -i re0
re0:
        inet 10.9.8.12
        igmpv2
                group 224.0.0.1 mode exclude
                        mcast-macaddr 01:00:5e:00:00:01
        inet6 fe80::1ebd:b9ff:fede:d7d%re0 scopeid 0x2
        mldv1 flags=3D2<USEALLOW>
                group ff01::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01
                group ff02::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01
# ifconfig re0 inet6 fc00::1
# vmstat -m | grep multi
  ether_multi    85     7K       -      180  16,32,64,128
     in_multi     2     1K       -        3  256
    in6_multi    42     7K       -       97  32,256
# ifmcstat -i re0
re0:
        inet6 fe80::1ebd:b9ff:fede:d7d%re0 scopeid 0x2
        mldv1 flags=3D2<USEALLOW>
                group ff02::2:d4f1:c447%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:d4:f1:c4:47
                group ff02::2:ffd4:f1c4%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:ff:d4:f1:c4
                group ff02::1:ff00:1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:ff:00:00:01
        inet 10.9.8.12
        igmpv2
                group 224.0.0.1 mode exclude
                        mcast-macaddr 01:00:5e:00:00:01
        inet6 fe80::1ebd:b9ff:fede:d7d%re0 scopeid 0x2
        mldv1 flags=3D2<USEALLOW>
                group ff01::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01
                group ff02::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01

# ifconfig re0 inet6 fc00::1
# ifmcstat -i re0
re0:
        inet 10.9.8.12
        igmpv2
                group 224.0.0.1 mode exclude
                        mcast-macaddr 01:00:5e:00:00:01
        inet6 fe80::1ebd:b9ff:fede:d7d%re0 scopeid 0x2
        mldv1 flags=3D2<USEALLOW>
                group ff01::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01
                group ff02::1%re0 scopeid 0x2 mode exclude
                        mcast-macaddr 33:33:00:00:00:01
# vmstat -m | grep multi
  ether_multi    79     6K       -      195  16,32,64,128
     in_multi     2     1K       -        3  256
    in6_multi    39     7K       -      105  32,256

....

# vmstat -m | grep multi
  ether_multi   127    10K       -      315  16,32,64,128
     in_multi     2     1K       -        3  256
    in6_multi    56    11K       -      169  32,256

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-233535-7501-VRLdzhoo03>