[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202204142133.6pDDI4xD-lkp@intel.com>
Date: Thu, 14 Apr 2022 21:53:40 +0800
From: kernel test robot <lkp@...el.com>
To: Vladimir Oltean <vladimir.oltean@....com>, netdev@...r.kernel.org
Cc: kbuild-all@...ts.01.org, Jakub Kicinski <kuba@...nel.org>,
Florian Fainelli <f.fainelli@...il.com>,
Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Vladimir Oltean <olteanv@...il.com>,
UNGLinuxDriver@...rochip.com, Paolo Abeni <pabeni@...hat.com>,
Roopa Prabhu <roopa@...dia.com>,
Nikolay Aleksandrov <nikolay@...dia.com>,
Jiri Pirko <jiri@...dia.com>, Ido Schimmel <idosch@...dia.com>,
Tobias Waldekranz <tobias@...dekranz.com>,
Mattias Forsblad <mattias.forsblad@...il.com>
Subject: Re: [PATCH net-next 6/6] net: bridge: avoid uselessly making
offloaded ports promiscuous
Hi Vladimir,
I love your patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/intel-lab-lkp/linux/commits/Vladimir-Oltean/Disable-host-flooding-for-DSA-ports-under-a-bridge/20220409-041556
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git e8bd70250a821edb541c3abe1eacdad9f8dc7adf
config: i386-debian-10.3 (https://download.01.org/0day-ci/archive/20220414/202204142133.6pDDI4xD-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-19) 11.2.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/2b24e24c704fa129c753dbc8fb764c95f4a3562c
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Vladimir-Oltean/Disable-host-flooding-for-DSA-ports-under-a-bridge/20220409-041556
git checkout 2b24e24c704fa129c753dbc8fb764c95f4a3562c
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash net/bridge/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
net/bridge/br_if.c: In function 'br_manage_promisc':
>> net/bridge/br_if.c:145:22: error: 'struct net_bridge_port' has no member named 'offload_count'
145 | if (p->offload_count) {
| ^~
vim +145 net/bridge/br_if.c
129
130 /* When a port is added or removed or when certain port flags
131 * change, this function is called to automatically manage
132 * promiscuity setting of all the bridge ports. We are always called
133 * under RTNL so can skip using rcu primitives.
134 */
135 void br_manage_promisc(struct net_bridge *br)
136 {
137 struct net_bridge_port *p;
138
139 list_for_each_entry(p, &br->port_list, list) {
140 /* Offloaded ports have a separate address database for
141 * forwarding, which is managed through switchdev and not
142 * through dev_uc_add(), so the promiscuous concept makes no
143 * sense for them. Avoid updating promiscuity in that case.
144 */
> 145 if (p->offload_count) {
146 br_port_clear_promisc(p);
147 continue;
148 }
149
150 /* If bridge is promiscuous, unconditionally place all ports
151 * in promiscuous mode too. This allows the bridge device to
152 * locally receive all unknown traffic.
153 */
154 if (br->dev->flags & IFF_PROMISC) {
155 br_port_set_promisc(p);
156 continue;
157 }
158
159 /* If vlan filtering is disabled, place all ports in
160 * promiscuous mode.
161 */
162 if (!br_vlan_enabled(br->dev)) {
163 br_port_set_promisc(p);
164 continue;
165 }
166
167 /* If the number of auto-ports is <= 1, then all other ports
168 * will have their output configuration statically specified
169 * through fdbs. Since ingress on the auto-port becomes
170 * forwarding/egress to other ports and egress configuration is
171 * statically known, we can say that ingress configuration of
172 * the auto-port is also statically known.
173 * This lets us disable promiscuous mode and write this config
174 * to hw.
175 */
176 if (br->auto_cnt == 0 ||
177 (br->auto_cnt == 1 && br_auto_port(p)))
178 br_port_clear_promisc(p);
179 else
180 br_port_set_promisc(p);
181 }
182 }
183
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists