entry.kw[kwi] |= NPC_LT_LB_CTAG << mkex->lb_lt_offset;
entry.kw_mask[kwi] |= 0xFULL << mkex->lb_lt_offset;
- mcam_data = (vlan_id << 16);
+ mcam_data = ((uint32_t)vlan_id << 16);
mcam_mask = (BIT_ULL(16) - 1) << 16;
otx2_mbox_memcpy(key_data + mkex->lb_xtract.key_off,
&mcam_data, mkex->lb_xtract.len + 1);
} else {
TAILQ_FOREACH(entry, &vlan->fltr_tbl, next) {
if (entry->vlan_id == vlan_id) {
- nix_vlan_mcam_free(dev, entry->mcam_idx);
+ rc = nix_vlan_mcam_free(dev, entry->mcam_idx);
+ if (rc)
+ return rc;
TAILQ_REMOVE(&vlan->fltr_tbl, entry, next);
rte_free(entry);
break;
struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev);
uint64_t offloads = dev->rx_offloads;
struct rte_eth_rxmode *rxmode;
- int rc;
+ int rc = 0;
rxmode = ð_dev->data->dev_conf.rxmode;
vtag_cfg->vtag_size = NIX_VTAGSIZE_T4;
if (vlan->outer_vlan_tpid)
- vtag_cfg->tx.vtag0 =
- (vlan->outer_vlan_tpid << 16) | vlan_id;
+ vtag_cfg->tx.vtag0 = ((uint32_t)vlan->outer_vlan_tpid
+ << 16) | vlan_id;
else
vtag_cfg->tx.vtag0 =
((RTE_ETHER_TYPE_VLAN << 16) | vlan_id);