X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fperformance-thread%2Fl3fwd-thread%2Fmain.c;h=49d9424070070189d7931403463d4ef1f279d7f0;hb=4fe1af80dd50bc44ac8ff2f395e8584f305b879c;hp=364057997306389e378ddbf01d60c64f87eeabbb;hpb=24ac604ef7469eb5773c2504b313dd00257f8df3;p=dpdk.git diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c index 3640579973..49d9424070 100644 --- a/examples/performance-thread/l3fwd-thread/main.c +++ b/examples/performance-thread/l3fwd-thread/main.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -98,9 +99,9 @@ parse_ptype(struct rte_mbuf *m) eth_hdr = rte_pktmbuf_mtod(m, struct rte_ether_hdr *); ether_type = eth_hdr->ether_type; - if (ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv4)) + if (ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4)) packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN; - else if (ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv6)) + else if (ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV6)) packet_type |= RTE_PTYPE_L3_IPV6_EXT_UNKNOWN; m->packet_type = packet_type; @@ -380,10 +381,10 @@ struct ipv6_l3fwd_route { }; static struct ipv4_l3fwd_route ipv4_l3fwd_route_array[] = { - {{RTE_IPv4(101, 0, 0, 0), RTE_IPv4(100, 10, 0, 1), 101, 11, IPPROTO_TCP}, 0}, - {{RTE_IPv4(201, 0, 0, 0), RTE_IPv4(200, 20, 0, 1), 102, 12, IPPROTO_TCP}, 1}, - {{RTE_IPv4(111, 0, 0, 0), RTE_IPv4(100, 30, 0, 1), 101, 11, IPPROTO_TCP}, 2}, - {{RTE_IPv4(211, 0, 0, 0), RTE_IPv4(200, 40, 0, 1), 102, 12, IPPROTO_TCP}, 3}, + {{RTE_IPV4(101, 0, 0, 0), RTE_IPV4(100, 10, 0, 1), 101, 11, IPPROTO_TCP}, 0}, + {{RTE_IPV4(201, 0, 0, 0), RTE_IPV4(200, 20, 0, 1), 102, 12, IPPROTO_TCP}, 1}, + {{RTE_IPV4(111, 0, 0, 0), RTE_IPV4(100, 30, 0, 1), 101, 11, IPPROTO_TCP}, 2}, + {{RTE_IPV4(211, 0, 0, 0), RTE_IPV4(200, 40, 0, 1), 102, 12, IPPROTO_TCP}, 3}, }; static struct ipv6_l3fwd_route ipv6_l3fwd_route_array[] = { @@ -503,14 +504,14 @@ struct ipv6_l3fwd_route { }; static struct ipv4_l3fwd_route ipv4_l3fwd_route_array[] = { - {RTE_IPv4(1, 1, 1, 0), 24, 0}, - {RTE_IPv4(2, 1, 1, 0), 24, 1}, - {RTE_IPv4(3, 1, 1, 0), 24, 2}, - {RTE_IPv4(4, 1, 1, 0), 24, 3}, - {RTE_IPv4(5, 1, 1, 0), 24, 4}, - {RTE_IPv4(6, 1, 1, 0), 24, 5}, - {RTE_IPv4(7, 1, 1, 0), 24, 6}, - {RTE_IPv4(8, 1, 1, 0), 24, 7}, + {RTE_IPV4(1, 1, 1, 0), 24, 0}, + {RTE_IPV4(2, 1, 1, 0), 24, 1}, + {RTE_IPV4(3, 1, 1, 0), 24, 2}, + {RTE_IPV4(4, 1, 1, 0), 24, 3}, + {RTE_IPV4(5, 1, 1, 0), 24, 4}, + {RTE_IPV4(6, 1, 1, 0), 24, 5}, + {RTE_IPV4(7, 1, 1, 0), 24, 6}, + {RTE_IPV4(8, 1, 1, 0), 24, 7}, }; static struct ipv6_l3fwd_route ipv6_l3fwd_route_array[] = { @@ -3145,19 +3146,19 @@ populate_ipv4_many_flow_into_table(const struct rte_hash *h, switch (i & (NUMBER_PORT_USED - 1)) { case 0: entry = ipv4_l3fwd_route_array[0]; - entry.key.ip_dst = RTE_IPv4(101, c, b, a); + entry.key.ip_dst = RTE_IPV4(101, c, b, a); break; case 1: entry = ipv4_l3fwd_route_array[1]; - entry.key.ip_dst = RTE_IPv4(201, c, b, a); + entry.key.ip_dst = RTE_IPV4(201, c, b, a); break; case 2: entry = ipv4_l3fwd_route_array[2]; - entry.key.ip_dst = RTE_IPv4(111, c, b, a); + entry.key.ip_dst = RTE_IPV4(111, c, b, a); break; case 3: entry = ipv4_l3fwd_route_array[3]; - entry.key.ip_dst = RTE_IPv4(211, c, b, a); + entry.key.ip_dst = RTE_IPV4(211, c, b, a); break; }; convert_ipv4_5tuple(&entry.key, &newkey); @@ -3497,6 +3498,10 @@ main(int argc, char **argv) argc -= ret; argv += ret; + ret = rte_timer_subsystem_init(); + if (ret < 0) + rte_exit(EXIT_FAILURE, "Failed to initialize timer subystem\n"); + /* pre-init dst MACs for all ports to 02:00:00:00:00:xx */ for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++) { dest_eth_addr[portid] = RTE_ETHER_LOCAL_ADMIN_ADDR + @@ -3645,14 +3650,10 @@ main(int argc, char **argv) /* init RX queues */ for (queue = 0; queue < rx_thread[i].n_rx_queue; ++queue) { - struct rte_eth_dev *dev; - struct rte_eth_conf *conf; struct rte_eth_rxconf rxq_conf; portid = rx_thread[i].rx_queue_list[queue].port_id; queueid = rx_thread[i].rx_queue_list[queue].queue_id; - dev = &rte_eth_devices[portid]; - conf = &dev->data->dev_conf; if (numa_on) socketid = (uint8_t)rte_lcore_to_socket_id(lcore_id); @@ -3664,7 +3665,7 @@ main(int argc, char **argv) rte_eth_dev_info_get(portid, &dev_info); rxq_conf = dev_info.default_rxconf; - rxq_conf.offloads = conf->rxmode.offloads; + rxq_conf.offloads = port_conf.rxmode.offloads; ret = rte_eth_rx_queue_setup(portid, queueid, nb_rxd, socketid, &rxq_conf,