[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iKA1eKUdCYLyejKN_wMK6ODFwW4t3SLZR6Zz_CSTLtVEw@mail.gmail.com>
Date: Mon, 3 Jun 2024 21:49:56 +0200
From: Eric Dumazet <edumazet@...gle.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, pabeni@...hat.com,
Jaroslav Pulchart <jaroslav.pulchart@...ddata.com>, dsahern@...nel.org
Subject: Re: [PATCH net v3] rtnetlink: make the "split" NLM_DONE handling generic
On Mon, Jun 3, 2024 at 8:48 PM Jakub Kicinski <kuba@...nel.org> wrote:
>
> Jaroslav reports Dell's OMSA Systems Management Data Engine
> expects NLM_DONE in a separate recvmsg(), both for rtnl_dump_ifinfo()
> and inet_dump_ifaddr(). We already added a similar fix previously in
> commit 460b0d33cf10 ("inet: bring NLM_DONE out to a separate recv() again")
>
> Instead of modifying all the dump handlers, and making them look
> different than modern for_each_netdev_dump()-based dump handlers -
> put the workaround in rtnetlink code. This will also help us move
> the custom rtnl-locking from af_netlink in the future (in net-next).
>
> Note that this change is not touching rtnl_dump_all(). rtnl_dump_all()
> is different kettle of fish and a potential problem. We now mix families
> in a single recvmsg(), but NLM_DONE is not coalesced.
>
> Tested:
>
> ./cli.py --dbg-small-recv 4096 --spec netlink/specs/rt_addr.yaml \
> --dump getaddr --json '{"ifa-family": 2}'
>
> ./cli.py --dbg-small-recv 4096 --spec netlink/specs/rt_route.yaml \
> --dump getroute --json '{"rtm-family": 2}'
>
> ./cli.py --dbg-small-recv 4096 --spec netlink/specs/rt_link.yaml \
> --dump getlink
>
> Fixes: 3e41af90767d ("rtnetlink: use xarray iterator to implement rtnl_dump_ifinfo()")
> Fixes: cdb2f80f1c10 ("inet: use xa_array iterator to implement inet_dump_ifaddr()")
> Reported-by: Jaroslav Pulchart <jaroslav.pulchart@...ddata.com>
> Link: https://lore.kernel.org/all/CAK8fFZ7MKoFSEzMBDAOjoUt+vTZRRQgLDNXEOfdCCXSoXXKE0g@mail.gmail.com
> Signed-off-by: Jakub Kicinski <kuba@...nel.org>
Very nice, thanks a lot for taking care of this Jakub.
Reviewed-by: Eric Dumazet <edumazet@...gle.com>
Powered by blists - more mailing lists