| 2120 | } |
| 2121 | |
| 2122 | int |
| 2123 | main(int argc, char **argv) |
| 2124 | { |
| 2125 | int ret; |
| 2126 | int i; |
| 2127 | char c_flag[] = "-c1"; |
| 2128 | char n_flag[] = "-n4"; |
| 2129 | char mp_flag[] = "--proc-type=secondary"; |
| 2130 | char log_flag[] = "--log-level=6"; |
| 2131 | char *argp[argc + 4]; |
| 2132 | uint16_t nb_ports; |
| 2133 | |
| 2134 | /* preparse app arguments */ |
| 2135 | ret = proc_info_preparse_args(argc, argv); |
| 2136 | if (ret < 0) { |
| 2137 | printf("Failed to parse arguments\n"); |
| 2138 | return -1; |
| 2139 | } |
| 2140 | |
| 2141 | argp[0] = argv[0]; |
| 2142 | argp[1] = c_flag; |
| 2143 | argp[2] = n_flag; |
| 2144 | argp[3] = mp_flag; |
| 2145 | argp[4] = log_flag; |
| 2146 | |
| 2147 | for (i = 1; i < argc; i++) |
| 2148 | argp[i + 4] = argv[i]; |
| 2149 | |
| 2150 | argc += 4; |
| 2151 | |
| 2152 | ret = rte_eal_init(argc, argp); |
| 2153 | if (ret < 0) |
| 2154 | rte_panic("Cannot init EAL\n"); |
| 2155 | |
| 2156 | argc -= ret; |
| 2157 | argv += ret - 4; |
| 2158 | |
| 2159 | if (!rte_eal_primary_proc_alive(NULL)) |
| 2160 | rte_exit(EXIT_FAILURE, "No primary DPDK process is running.\n"); |
| 2161 | |
| 2162 | /* parse app arguments */ |
| 2163 | ret = proc_info_parse_args(argc, argv); |
| 2164 | if (ret < 0) |
| 2165 | rte_exit(EXIT_FAILURE, "Invalid argument\n"); |
| 2166 | |
| 2167 | if (mem_info) { |
| 2168 | meminfo_display(); |
| 2169 | goto cleanup; |
| 2170 | } |
| 2171 | |
| 2172 | if (eventdev_xstats() > 0) |
| 2173 | goto cleanup; |
| 2174 | |
| 2175 | nb_ports = rte_eth_dev_count_avail(); |
| 2176 | if (nb_ports == 0) |
| 2177 | rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); |
| 2178 | |
| 2179 | /* If no port mask was specified, then show all non-owned ports */ |
nothing calls this directly
no test coverage detected