CC: [email protected] BCC: [email protected] CC: [email protected] TO: Subbaraya Sundeep <[email protected]> CC: Sunil Kovvuri Goutham <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: eaea45fc0e7b6ae439526b4a41d91230c8517336 commit: 68fbff68dbea35f9e6f7649dd22fce492a5aedac octeontx2-pf: Add police action for TC flower date: 11 months ago :::::: branch date: 5 hours ago :::::: commit date: 11 months ago config: s390-randconfig-m031-20220522 (https://download.01.org/0day-ci/archive/20220522/[email protected]/config) compiler: s390-linux-gcc (GCC) 11.3.0 If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c:363 otx2_tc_parse_actions() error: uninitialized symbol 'rate'. drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c:363 otx2_tc_parse_actions() error: uninitialized symbol 'burst'. Old smatch warnings: drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c:364 otx2_tc_parse_actions() error: uninitialized symbol 'pps'. vim +/rate +363 drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 278 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 279 static int otx2_tc_parse_actions(struct otx2_nic *nic, 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 280 struct flow_action *flow_action, 5d2fdd86d51735 Subbaraya Sundeep 2021-06-15 281 struct npc_install_flow_req *req, 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 282 struct flow_cls_offload *f, 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 283 struct otx2_tc_flow *node) 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 284 { 5d2fdd86d51735 Subbaraya Sundeep 2021-06-15 285 struct netlink_ext_ack *extack = f->common.extack; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 286 struct flow_action_entry *act; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 287 struct net_device *target; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 288 struct otx2_nic *priv; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 289 u32 burst, mark = 0; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 290 u8 nr_police = 0; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 291 bool pps; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 292 u64 rate; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 293 int i; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 294 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 295 if (!flow_action_has_entries(flow_action)) { 5d2fdd86d51735 Subbaraya Sundeep 2021-06-15 296 NL_SET_ERR_MSG_MOD(extack, "no tc actions specified"); 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 297 return -EINVAL; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 298 } 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 299 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 300 flow_action_for_each(i, act, flow_action) { 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 301 switch (act->id) { 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 302 case FLOW_ACTION_DROP: 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 303 req->op = NIX_RX_ACTIONOP_DROP; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 304 return 0; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 305 case FLOW_ACTION_ACCEPT: 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 306 req->op = NIX_RX_ACTION_DEFAULT; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 307 return 0; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 308 case FLOW_ACTION_REDIRECT_INGRESS: 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 309 target = act->dev; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 310 priv = netdev_priv(target); 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 311 /* npc_install_flow_req doesn't support passing a target pcifunc */ 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 312 if (rvu_get_pf(nic->pcifunc) != rvu_get_pf(priv->pcifunc)) { 5d2fdd86d51735 Subbaraya Sundeep 2021-06-15 313 NL_SET_ERR_MSG_MOD(extack, 5d2fdd86d51735 Subbaraya Sundeep 2021-06-15 314 "can't redirect to other pf/vf"); 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 315 return -EOPNOTSUPP; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 316 } 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 317 req->vf = priv->pcifunc & RVU_PFVF_FUNC_MASK; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 318 req->op = NIX_RX_ACTION_DEFAULT; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 319 return 0; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 320 case FLOW_ACTION_VLAN_POP: 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 321 req->vtag0_valid = true; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 322 /* use RX_VTAG_TYPE7 which is initialized to strip vlan tag */ 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 323 req->vtag0_type = NIX_AF_LFX_RX_VTAG_TYPE7; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 324 break; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 325 case FLOW_ACTION_POLICE: 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 326 /* Ingress ratelimiting is not supported on OcteonTx2 */ 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 327 if (is_dev_otx2(nic->pdev)) { 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 328 NL_SET_ERR_MSG_MOD(extack, 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 329 "Ingress policing not supported on this platform"); 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 330 return -EOPNOTSUPP; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 331 } 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 332 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 333 if (act->police.rate_bytes_ps > 0) { 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 334 rate = act->police.rate_bytes_ps * 8; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 335 burst = act->police.burst; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 336 } else if (act->police.rate_pkt_ps > 0) { 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 337 /* The algorithm used to calculate rate 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 338 * mantissa, exponent values for a given token 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 339 * rate (token can be byte or packet) requires 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 340 * token rate to be mutiplied by 8. 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 341 */ 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 342 rate = act->police.rate_pkt_ps * 8; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 343 burst = act->police.burst_pkt; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 344 pps = true; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 345 } 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 346 nr_police++; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 347 break; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 348 case FLOW_ACTION_MARK: 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 349 mark = act->mark; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 350 break; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 351 default: 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 352 return -EOPNOTSUPP; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 353 } 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 354 } 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 355 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 356 if (nr_police > 1) { 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 357 NL_SET_ERR_MSG_MOD(extack, 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 358 "rate limit police offload requires a single action"); 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 359 return -EOPNOTSUPP; 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 360 } 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 361 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 362 if (nr_police) 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 @363 return otx2_tc_act_set_police(nic, node, f, rate, burst, 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 364 mark, req, pps); 68fbff68dbea35 Subbaraya Sundeep 2021-06-15 365 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 366 return 0; 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 367 } 1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18 368 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
