examples: enable HW CRC strip by default
[dpdk.git] / examples / ip_reassembly / main.c
index 262820e..b1da7a1 100644 (file)
@@ -65,7 +65,6 @@
 #include <rte_debug.h>
 #include <rte_ether.h>
 #include <rte_ethdev.h>
-#include <rte_ring.h>
 #include <rte_mempool.h>
 #include <rte_mbuf.h>
 #include <rte_malloc.h>
@@ -201,7 +200,7 @@ static struct rte_eth_conf port_conf = {
                .hw_ip_checksum = 1, /**< IP checksum offload enabled */
                .hw_vlan_filter = 0, /**< VLAN filtering disabled */
                .jumbo_frame    = 1, /**< Jumbo Frame Support disabled */
-               .hw_strip_crc   = 0, /**< CRC stripped by hardware */
+               .hw_strip_crc   = 1, /**< CRC stripped by hardware */
        },
        .rx_adv_conf = {
                        .rss_conf = {
@@ -347,7 +346,8 @@ reassemble(struct rte_mbuf *m, uint8_t portid, uint32_t queue,
        struct rte_ip_frag_death_row *dr;
        struct rx_queue *rxq;
        void *d_addr_bytes;
-       uint8_t next_hop, dst_port;
+       uint32_t next_hop;
+       uint8_t dst_port;
 
        rxq = &qconf->rx_queue_list[queue];
 
@@ -427,7 +427,8 @@ reassemble(struct rte_mbuf *m, uint8_t portid, uint32_t queue,
                }
 
                /* Find destination port */
-               if (rte_lpm6_lookup(rxq->lpm6, ip_hdr->dst_addr, &next_hop) == 0 &&
+               if (rte_lpm6_lookup(rxq->lpm6, ip_hdr->dst_addr,
+                                               &next_hop) == 0 &&
                                (enabled_port_mask & 1 << next_hop) != 0) {
                        dst_port = next_hop;
                }
@@ -718,7 +719,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
@@ -762,7 +763,7 @@ check_all_ports_link_status(uint8_t port_num, uint32_t port_mask)
                                continue;
                        }
                        /* clear all_ports_up flag if any link down */
-                       if (link.link_status == 0) {
+                       if (link.link_status == ETH_LINK_DOWN) {
                                all_ports_up = 0;
                                break;
                        }
@@ -926,6 +927,7 @@ init_mem(void)
        char buf[PATH_MAX];
        struct rte_lpm *lpm;
        struct rte_lpm6 *lpm6;
+       struct rte_lpm_config lpm_config;
        int socket;
        unsigned lcore_id;
 
@@ -945,7 +947,11 @@ init_mem(void)
                        RTE_LOG(INFO, IP_RSMBL, "Creating LPM table on socket %i\n", socket);
                        snprintf(buf, sizeof(buf), "IP_RSMBL_LPM_%i", socket);
 
-                       lpm = rte_lpm_create(buf, socket, LPM_MAX_RULES, 0);
+                       lpm_config.max_rules = LPM_MAX_RULES;
+                       lpm_config.number_tbl8s = 256;
+                       lpm_config.flags = 0;
+
+                       lpm = rte_lpm_create(buf, socket, &lpm_config);
                        if (lpm == NULL) {
                                RTE_LOG(ERR, IP_RSMBL, "Cannot create LPM table\n");
                                return -1;
@@ -957,7 +963,7 @@ init_mem(void)
                        RTE_LOG(INFO, IP_RSMBL, "Creating LPM6 table on socket %i\n", socket);
                        snprintf(buf, sizeof(buf), "IP_RSMBL_LPM_%i", socket);
 
-                       lpm6 = rte_lpm6_create("IP_RSMBL_LPM6", socket, &lpm6_config);
+                       lpm6 = rte_lpm6_create(buf, socket, &lpm6_config);
                        if (lpm6 == NULL) {
                                RTE_LOG(ERR, IP_RSMBL, "Cannot create LPM table\n");
                                return -1;
@@ -1034,9 +1040,7 @@ main(int argc, char **argv)
                rte_exit(EXIT_FAILURE, "Invalid IP reassembly parameters\n");
 
        nb_ports = rte_eth_dev_count();
-       if (nb_ports > RTE_MAX_ETHPORTS)
-               nb_ports = RTE_MAX_ETHPORTS;
-       else if (nb_ports == 0)
+       if (nb_ports == 0)
                rte_exit(EXIT_FAILURE, "No ports found!\n");
 
        nb_lcores = rte_lcore_count();