ethdev: fix max Rx packet length
[dpdk.git] / app / test / test_link_bonding_mode4.c
index bbb4e9c..189d243 100644 (file)
@@ -108,7 +108,6 @@ static struct link_bonding_unittest_params test_params  = {
 static struct rte_eth_conf default_pmd_conf = {
        .rxmode = {
                .mq_mode = ETH_MQ_RX_NONE,
-               .max_rx_pkt_len = RTE_ETHER_MAX_LEN,
                .split_hdr_size = 0,
        },
        .txmode = {
@@ -225,6 +224,7 @@ static int
 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 &&
@@ -252,7 +252,9 @@ add_slave(struct slave_conf *slave, uint8_t start)
                        "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");
 
@@ -312,6 +314,7 @@ static int
 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);
 
@@ -323,7 +326,10 @@ initialize_bonded_device_with_slaves(uint16_t slave_count, uint8_t external_sm)
 
        /* 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;
@@ -348,7 +354,9 @@ remove_slaves_and_stop_bonded_device(void)
        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);
@@ -361,7 +369,9 @@ remove_slaves_and_stop_bonded_device(void)
                        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);
@@ -491,8 +501,8 @@ make_lacp_reply(struct slave_conf *slave, struct rte_mbuf *pkt)
        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;
@@ -578,7 +588,13 @@ bond_get_update_timeout_ms(void)
 {
        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;
 }
 
@@ -812,7 +828,9 @@ test_mode4_rx(void)
        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
@@ -824,7 +842,10 @@ test_mode4_rx(void)
        /* 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) {
@@ -848,7 +869,7 @@ test_mode4_rx(void)
 
                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)]++;
                }
 
@@ -869,7 +890,10 @@ test_mode4_rx(void)
 
        /* 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) {
@@ -893,7 +917,7 @@ test_mode4_rx(void)
 
                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);
                }
 
@@ -992,8 +1016,9 @@ test_mode4_tx_burst(void)
        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;
@@ -1137,11 +1162,12 @@ init_marker(struct rte_mbuf *pkt, struct slave_conf *slave)
 
        /* 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);