static inline int pcie_add_forward(unsigned int pcie_eth_if_id, struct mppa_pcie_eth_dnoc_tx_cfg *dnoc_tx_cfg) { struct mppa_pcie_eth_if_config * cfg = netdev_get_eth_if_config(pcie_eth_if_id); struct mppa_pcie_eth_h2c_ring_buff_entry entry; entry.len = dnoc_tx_cfg->mtu; entry.pkt_addr = (uint32_t)dnoc_tx_cfg->fifo_addr; entry.flags = MPPA_PCIE_ETH_NEED_PKT_HDR; return netdev_h2c_enqueue_buffer(cfg, &entry); }
static inline int pcie_add_forward(struct mppa_pcie_eth_dnoc_tx_cfg *dnoc_tx_cfg, mppa_rpc_odp_answer_t *answer) { struct mpodp_if_config * cfg = netdev_get_eth_if_config(dnoc_tx_cfg->pcie_eth_if); struct mpodp_h2c_entry entry; entry.pkt_addr = (uint32_t)dnoc_tx_cfg->fifo_addr; if (netdev_h2c_enqueue_buffer(cfg, dnoc_tx_cfg->h2c_q, &entry)) { PCIE_RPC_ERR_MSG(answer, "Failed to register cluster to pcie interface %d\n", dnoc_tx_cfg->pcie_eth_if); return -1; } return 0; }