static struct rte_eth_conf default_pmd_conf = {
.rxmode = {
- .mq_mode = ETH_MQ_RX_NONE,
- .max_rx_pkt_len = RTE_ETHER_MAX_LEN,
+ .mq_mode = RTE_ETH_MQ_RX_NONE,
.split_hdr_size = 0,
},
.txmode = {
- .mq_mode = ETH_MQ_TX_NONE,
+ .mq_mode = RTE_ETH_MQ_TX_NONE,
},
.lpbk_mode = 0,
};
uint16_t i;
for (i = 0; i < count; i++) {
- if (pkts[i] != NULL)
- rte_pktmbuf_free(pkts[i]);
+ rte_pktmbuf_free(pkts[i]);
}
}
add_slave(struct slave_conf *slave, uint8_t start)
{
struct rte_ether_addr addr, addr_check;
+ int retval;
/* Some sanity check */
RTE_VERIFY(test_params.slave_ports <= slave &&
"Failed to start slave %u", slave->port_id);
}
- rte_eth_macaddr_get(slave->port_id, &addr_check);
+ retval = rte_eth_macaddr_get(slave->port_id, &addr_check);
+ TEST_ASSERT_SUCCESS(retval, "Failed to get slave mac address: %s",
+ strerror(-retval));
TEST_ASSERT_EQUAL(rte_is_same_ether_addr(&addr, &addr_check), 1,
"Slave MAC address is not as expected");
initialize_bonded_device_with_slaves(uint16_t slave_count, uint8_t external_sm)
{
uint8_t i;
+ int ret;
RTE_VERIFY(test_params.bonded_port_id != INVALID_PORT_ID);
/* Reset mode 4 configuration */
rte_eth_bond_8023ad_setup(test_params.bonded_port_id, NULL);
- rte_eth_promiscuous_disable(test_params.bonded_port_id);
+ ret = rte_eth_promiscuous_disable(test_params.bonded_port_id);
+ TEST_ASSERT_SUCCESS(ret,
+ "Failed disable promiscuous mode for port %d: %s",
+ test_params.bonded_port_id, rte_strerror(-ret));
if (external_sm) {
struct rte_eth_bond_8023ad_conf conf;
uint16_t slaves[RTE_MAX_ETHPORTS];
uint16_t i;
- rte_eth_dev_stop(test_params.bonded_port_id);
+ TEST_ASSERT_SUCCESS(rte_eth_dev_stop(test_params.bonded_port_id),
+ "Failed to stop bonded port %u",
+ test_params.bonded_port_id);
FOR_EACH_SLAVE(i, slave)
remove_slave(slave);
test_params.bonded_port_id, retval);
FOR_EACH_PORT(i, slave) {
- rte_eth_dev_stop(slave->port_id);
+ TEST_ASSERT_SUCCESS(rte_eth_dev_stop(slave->port_id),
+ "Failed to stop bonded port %u",
+ slave->port_id);
TEST_ASSERT(slave->bonded == 0,
"Port id=%u is still marked as enslaved.", slave->port_id);
slow_hdr = rte_pktmbuf_mtod(pkt, struct slow_protocol_frame *);
/* Change source address to partner address */
- rte_ether_addr_copy(&parnter_mac_default, &slow_hdr->eth_hdr.s_addr);
- slow_hdr->eth_hdr.s_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] =
+ rte_ether_addr_copy(&parnter_mac_default, &slow_hdr->eth_hdr.src_addr);
+ slow_hdr->eth_hdr.src_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] =
slave->port_id;
lacp = (struct lacpdu *) &slow_hdr->slow_protocol;
{
struct rte_eth_bond_8023ad_conf conf;
- rte_eth_bond_8023ad_conf_get(test_params.bonded_port_id, &conf);
+ if (rte_eth_bond_8023ad_conf_get(test_params.bonded_port_id, &conf) < 0) {
+ RTE_LOG(DEBUG, EAL, "Failed to get bonding configuration: "
+ "%s at %d\n", __func__, __LINE__);
+ RTE_TEST_TRACE_FAILURE(__FILE__, __LINE__, __func__);
+ return 0;
+ }
+
return conf.update_timeout_ms;
}
uint16_t src_port = 10, dst_port = 20;
- uint32_t ip_src[4] = { [0 ... 2] = 0xDEADBEEF, [3] = IPv4(192, 168, 0, 1) };
- uint32_t ip_dst[4] = { [0 ... 2] = 0xFEEDFACE, [3] = IPv4(192, 168, 0, 2) };
+ uint32_t ip_src[4] = { [0 ... 2] = 0xDEADBEEF, [3] = RTE_IPV4(192, 168, 0, 1) };
+ uint32_t ip_dst[4] = { [0 ... 2] = 0xFEEDFACE, [3] = RTE_IPV4(192, 168, 0, 2) };
struct rte_ether_hdr pkt_eth_hdr;
- struct udp_hdr pkt_udp_hdr;
+ struct rte_udp_hdr pkt_udp_hdr;
union {
- struct ipv4_hdr v4;
- struct ipv6_hdr v6;
+ struct rte_ipv4_hdr v4;
+ struct rte_ipv6_hdr v6;
} pkt_ip_hdr;
int retval;
retval = bond_handshake();
TEST_ASSERT_SUCCESS(retval, "Initial handshake failed");
- rte_eth_macaddr_get(test_params.bonded_port_id, &bonded_mac);
+ retval = rte_eth_macaddr_get(test_params.bonded_port_id, &bonded_mac);
+ TEST_ASSERT_SUCCESS(retval, "Failed to get mac address: %s",
+ strerror(-retval));
rte_ether_addr_copy(&bonded_mac, &dst_mac);
/* Assert that dst address is not bonding address. Do not set the
/* First try with promiscuous mode enabled.
* Add 2 packets to each slave. First with bonding MAC address, second with
* different. Check if we received all of them. */
- rte_eth_promiscuous_enable(test_params.bonded_port_id);
+ retval = rte_eth_promiscuous_enable(test_params.bonded_port_id);
+ TEST_ASSERT_SUCCESS(retval,
+ "Failed to enable promiscuous mode for port %d: %s",
+ test_params.bonded_port_id, rte_strerror(-retval));
expected_pkts_cnt = 0;
FOR_EACH_SLAVE(i, slave) {
for (i = 0; i < expected_pkts_cnt; i++) {
hdr = rte_pktmbuf_mtod(pkts[i], struct rte_ether_hdr *);
- cnt[rte_is_same_ether_addr(&hdr->d_addr,
+ cnt[rte_is_same_ether_addr(&hdr->dst_addr,
&bonded_mac)]++;
}
/* Now, disable promiscuous mode. When promiscuous mode is disabled we
* expect to receive only packets that are directed to bonding port. */
- rte_eth_promiscuous_disable(test_params.bonded_port_id);
+ retval = rte_eth_promiscuous_disable(test_params.bonded_port_id);
+ TEST_ASSERT_SUCCESS(retval,
+ "Failed to disable promiscuous mode for port %d: %s",
+ test_params.bonded_port_id, rte_strerror(-retval));
expected_pkts_cnt = 0;
FOR_EACH_SLAVE(i, slave) {
for (i = 0; i < expected_pkts_cnt; i++) {
hdr = rte_pktmbuf_mtod(pkts[i], struct rte_ether_hdr *);
- eq_cnt += rte_is_same_ether_addr(&hdr->d_addr,
+ eq_cnt += rte_is_same_ether_addr(&hdr->dst_addr,
&bonded_mac);
}
retval = bond_handshake();
TEST_ASSERT_SUCCESS(retval, "Initial handshake failed");
- rte_eth_macaddr_get(test_params.bonded_port_id, &bonded_mac);
-
+ retval = rte_eth_macaddr_get(test_params.bonded_port_id, &bonded_mac);
+ TEST_ASSERT_SUCCESS(retval, "Failed to get mac address: %s",
+ strerror(-retval));
/* Prepare burst */
for (pkts_cnt = 0; pkts_cnt < RTE_DIM(pkts); pkts_cnt++) {
dst_mac.addr_bytes[RTE_ETHER_ADDR_LEN - 1] = pkts_cnt;
/* Copy multicast destination address */
rte_ether_addr_copy(&slow_protocol_mac_addr,
- &marker_hdr->eth_hdr.d_addr);
+ &marker_hdr->eth_hdr.dst_addr);
/* Init source address */
- rte_ether_addr_copy(&parnter_mac_default, &marker_hdr->eth_hdr.s_addr);
- marker_hdr->eth_hdr.s_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] =
+ rte_ether_addr_copy(&parnter_mac_default,
+ &marker_hdr->eth_hdr.src_addr);
+ marker_hdr->eth_hdr.src_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] =
slave->port_id;
marker_hdr->eth_hdr.ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_SLOW);