X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pmd%2Fcmdline.c;h=01dd45f27ce5a747bc30cfbd57e65627e60b88ef;hb=a3ffaccbf6d242021f231d0b7b313f2768562b4d;hp=90e35022ee0396d811f2950bd70e618ade8c43c5;hpb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;p=dpdk.git diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 90e35022ee..01dd45f27c 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -1925,16 +1925,16 @@ cmd_config_max_pkt_len_parsed(void *parsed_result, uint64_t rx_offloads = port->dev_conf.rxmode.offloads; if (!strcmp(res->name, "max-pkt-len")) { - if (res->value < ETHER_MIN_LEN) { + if (res->value < RTE_ETHER_MIN_LEN) { printf("max-pkt-len can not be less than %d\n", - ETHER_MIN_LEN); + RTE_ETHER_MIN_LEN); return; } if (res->value == port->dev_conf.rxmode.max_rx_pkt_len) return; port->dev_conf.rxmode.max_rx_pkt_len = res->value; - if (res->value > ETHER_MAX_LEN) + if (res->value > RTE_ETHER_MAX_LEN) rx_offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME; else rx_offloads &= ~DEV_RX_OFFLOAD_JUMBO_FRAME; @@ -1996,8 +1996,8 @@ cmd_config_mtu_parsed(void *parsed_result, { struct cmd_config_mtu_result *res = parsed_result; - if (res->value < ETHER_MIN_LEN) { - printf("mtu cannot be less than %d\n", ETHER_MIN_LEN); + if (res->value < RTE_ETHER_MIN_LEN) { + printf("mtu cannot be less than %d\n", RTE_ETHER_MIN_LEN); return; } port_mtu_set(res->port_id, res->value); @@ -2047,6 +2047,7 @@ cmd_config_rx_mode_flag_parsed(void *parsed_result, { struct cmd_config_rx_mode_flag *res = parsed_result; portid_t pid; + int k; if (!all_ports_stopped()) { printf("Please stop all ports first\n"); @@ -2147,6 +2148,10 @@ cmd_config_rx_mode_flag_parsed(void *parsed_result, return; } port->dev_conf.rxmode.offloads = rx_offloads; + /* Apply Rx offloads configuration */ + for (k = 0; k < port->dev_info.max_rx_queues; k++) + port->rx_conf[k].offloads = + port->dev_conf.rxmode.offloads; } init_port_config(); @@ -4359,6 +4364,17 @@ csum_show(int port_id) } } +static void +cmd_config_queue_tx_offloads(struct rte_port *port) +{ + int k; + + /* Apply queue tx offloads configuration */ + for (k = 0; k < port->dev_info.max_rx_queues; k++) + port->tx_conf[k].offloads = + port->dev_conf.txmode.offloads; +} + static void cmd_csum_parsed(void *parsed_result, __attribute__((unused)) struct cmdline *cl, @@ -4443,6 +4459,7 @@ cmd_csum_parsed(void *parsed_result, ports[res->port_id].dev_conf.txmode.offloads &= (~csum_offloads); } + cmd_config_queue_tx_offloads(&ports[res->port_id]); } csum_show(res->port_id); @@ -4594,6 +4611,7 @@ cmd_tso_set_parsed(void *parsed_result, printf("TSO segment size for non-tunneled packets is %d\n", ports[res->port_id].tso_segsz); } + cmd_config_queue_tx_offloads(&ports[res->port_id]); /* display warnings if configuration is not supported by the NIC */ rte_eth_dev_info_get(res->port_id, &dev_info); @@ -4749,6 +4767,7 @@ cmd_tunnel_tso_set_parsed(void *parsed_result, "if outer L3 is IPv4; not necessary for IPv6\n"); } + cmd_config_queue_tx_offloads(&ports[res->port_id]); cmd_reconfig_device_queue(res->port_id, 1, 1); } @@ -8236,7 +8255,7 @@ cmd_set_vf_macvlan_parsed(void *parsed_result, memset(&filter, 0, sizeof(struct rte_eth_mac_filter)); - rte_memcpy(&filter.mac_addr, &res->address, ETHER_ADDR_LEN); + rte_memcpy(&filter.mac_addr, &res->address, RTE_ETHER_ADDR_LEN); /* set VF MAC filter */ filter.is_vf = 1; @@ -8813,8 +8832,8 @@ cmd_tunnel_filter_parsed(void *parsed_result, memset(&tunnel_filter_conf, 0, sizeof(tunnel_filter_conf)); - ether_addr_copy(&res->outer_mac, &tunnel_filter_conf.outer_mac); - ether_addr_copy(&res->inner_mac, &tunnel_filter_conf.inner_mac); + rte_ether_addr_copy(&res->outer_mac, &tunnel_filter_conf.outer_mac); + rte_ether_addr_copy(&res->inner_mac, &tunnel_filter_conf.inner_mac); tunnel_filter_conf.inner_vlan = res->inner_vlan; if (res->ip_value.family == AF_INET) { @@ -9210,7 +9229,7 @@ cmd_set_mirror_mask_parsed(void *parsed_result, return; for (i = 0; i < nb_item; i++) { - if (vlan_list[i] > ETHER_MAX_VLAN_ID) { + if (vlan_list[i] > RTE_ETHER_MAX_VLAN_ID) { printf("Invalid vlan_id: must be < 4096\n"); return; } @@ -10080,7 +10099,7 @@ cmd_2tuple_filter_parsed(void *parsed_result, " when protocol is TCP.\n"); return; } - if (res->tcp_flags_value > TCP_FLAG_ALL) { + if (res->tcp_flags_value > RTE_NTUPLE_TCP_FLAGS_MASK) { printf("invalid TCP flags.\n"); return; } @@ -10238,7 +10257,7 @@ cmd_5tuple_filter_parsed(void *parsed_result, " when protocol is TCP.\n"); return; } - if (res->tcp_flags_value > TCP_FLAG_ALL) { + if (res->tcp_flags_value > RTE_NTUPLE_TCP_FLAGS_MASK) { printf("invalid TCP flags.\n"); return; } @@ -12472,7 +12491,7 @@ static void cmd_mcast_addr_parsed(void *parsed_result, { struct cmd_mcast_addr_result *res = parsed_result; - if (!is_multicast_ether_addr(&res->mc_addr)) { + if (!rte_is_multicast_ether_addr(&res->mc_addr)) { printf("Invalid multicast addr %02X:%02X:%02X:%02X:%02X:%02X\n", res->mc_addr.addr_bytes[0], res->mc_addr.addr_bytes[1], res->mc_addr.addr_bytes[2], res->mc_addr.addr_bytes[3], @@ -15301,9 +15320,9 @@ static void cmd_set_vxlan_parsed(void *parsed_result, if (vxlan_encap_conf.select_vlan) vxlan_encap_conf.vlan_tci = rte_cpu_to_be_16(res->tci); rte_memcpy(vxlan_encap_conf.eth_src, res->eth_src.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); rte_memcpy(vxlan_encap_conf.eth_dst, res->eth_dst.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); } cmdline_parse_inst_t cmd_set_vxlan = { @@ -15492,9 +15511,9 @@ static void cmd_set_nvgre_parsed(void *parsed_result, if (nvgre_encap_conf.select_vlan) nvgre_encap_conf.vlan_tci = rte_cpu_to_be_16(res->tci); rte_memcpy(nvgre_encap_conf.eth_src, res->eth_src.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); rte_memcpy(nvgre_encap_conf.eth_dst, res->eth_dst.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); } cmdline_parse_inst_t cmd_set_nvgre = { @@ -15609,9 +15628,9 @@ static void cmd_set_l2_encap_parsed(void *parsed_result, if (l2_encap_conf.select_vlan) l2_encap_conf.vlan_tci = rte_cpu_to_be_16(res->tci); rte_memcpy(l2_encap_conf.eth_src, res->eth_src.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); rte_memcpy(l2_encap_conf.eth_dst, res->eth_dst.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); } cmdline_parse_inst_t cmd_set_l2_encap = { @@ -15801,9 +15820,9 @@ static void cmd_set_mplsogre_encap_parsed(void *parsed_result, if (mplsogre_encap_conf.select_vlan) mplsogre_encap_conf.vlan_tci = rte_cpu_to_be_16(res->tci); rte_memcpy(mplsogre_encap_conf.eth_src, res->eth_src.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); rte_memcpy(mplsogre_encap_conf.eth_dst, res->eth_dst.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); } cmdline_parse_inst_t cmd_set_mplsogre_encap = { @@ -16039,9 +16058,9 @@ static void cmd_set_mplsoudp_encap_parsed(void *parsed_result, if (mplsoudp_encap_conf.select_vlan) mplsoudp_encap_conf.vlan_tci = rte_cpu_to_be_16(res->tci); rte_memcpy(mplsoudp_encap_conf.eth_src, res->eth_src.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); rte_memcpy(mplsoudp_encap_conf.eth_dst, res->eth_dst.addr_bytes, - ETHER_ADDR_LEN); + RTE_ETHER_ADDR_LEN); } cmdline_parse_inst_t cmd_set_mplsoudp_encap = {