[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202204091856.0PBgeBSa-lkp@intel.com>
Date: Sat, 9 Apr 2022 18:17:15 +0800
From: kernel test robot <lkp@...el.com>
To: Vladimir Oltean <vladimir.oltean@....com>, netdev@...r.kernel.org
Cc: llvm@...ts.linux.dev, 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: x86_64-randconfig-a003 (https://download.01.org/0day-ci/archive/20220409/202204091856.0PBgeBSa-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 893e1c18b98d8bbc7b8d7d22cc2c348f65c72ad9)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# 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
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 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:145:10: error: no member named 'offload_count' in 'struct net_bridge_port'
if (p->offload_count) {
~ ^
1 error generated.
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