X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fflow_classify%2Fflow_classify.c;h=5ae81fab1f3289482822605158df9395f0ee181e;hb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;hp=d0e537e7d5ce37a9b078fa55e64c3bfdb9988edd;hpb=a9dbe180222680edf8c49e86791f972549ce5be3;p=dpdk.git diff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c index d0e537e7d5..5ae81fab1f 100644 --- a/examples/flow_classify/flow_classify.c +++ b/examples/flow_classify/flow_classify.c @@ -62,7 +62,6 @@ const char cb_port_delim[] = ":"; static const struct rte_eth_conf port_conf_default = { .rxmode = { .max_rx_pkt_len = ETHER_MAX_LEN, - .ignore_offload_bitfield = 1, }, }; @@ -99,7 +98,7 @@ static struct rte_acl_field_def ipv4_defs[NUM_FIELDS_IPV4] = { .size = sizeof(uint8_t), .field_index = PROTO_FIELD_IPV4, .input_index = PROTO_INPUT_IPV4, - .offset = sizeof(struct ether_hdr) + + .offset = sizeof(struct rte_ether_hdr) + offsetof(struct ipv4_hdr, next_proto_id), }, /* next input field (IPv4 source address) - 4 consecutive bytes. */ @@ -109,7 +108,7 @@ static struct rte_acl_field_def ipv4_defs[NUM_FIELDS_IPV4] = { .size = sizeof(uint32_t), .field_index = SRC_FIELD_IPV4, .input_index = SRC_INPUT_IPV4, - .offset = sizeof(struct ether_hdr) + + .offset = sizeof(struct rte_ether_hdr) + offsetof(struct ipv4_hdr, src_addr), }, /* next input field (IPv4 destination address) - 4 consecutive bytes. */ @@ -119,7 +118,7 @@ static struct rte_acl_field_def ipv4_defs[NUM_FIELDS_IPV4] = { .size = sizeof(uint32_t), .field_index = DST_FIELD_IPV4, .input_index = DST_INPUT_IPV4, - .offset = sizeof(struct ether_hdr) + + .offset = sizeof(struct rte_ether_hdr) + offsetof(struct ipv4_hdr, dst_addr), }, /* @@ -132,7 +131,7 @@ static struct rte_acl_field_def ipv4_defs[NUM_FIELDS_IPV4] = { .size = sizeof(uint16_t), .field_index = SRCP_FIELD_IPV4, .input_index = SRCP_DESTP_INPUT_IPV4, - .offset = sizeof(struct ether_hdr) + + .offset = sizeof(struct rte_ether_hdr) + sizeof(struct ipv4_hdr) + offsetof(struct tcp_hdr, src_port), }, @@ -142,7 +141,7 @@ static struct rte_acl_field_def ipv4_defs[NUM_FIELDS_IPV4] = { .size = sizeof(uint16_t), .field_index = DSTP_FIELD_IPV4, .input_index = SRCP_DESTP_INPUT_IPV4, - .offset = sizeof(struct ether_hdr) + + .offset = sizeof(struct rte_ether_hdr) + sizeof(struct ipv4_hdr) + offsetof(struct tcp_hdr, dst_port), }, @@ -193,14 +192,14 @@ static inline int port_init(uint8_t port, struct rte_mempool *mbuf_pool) { struct rte_eth_conf port_conf = port_conf_default; - struct ether_addr addr; + struct rte_ether_addr addr; const uint16_t rx_rings = 1, tx_rings = 1; int retval; uint16_t q; struct rte_eth_dev_info dev_info; struct rte_eth_txconf txconf; - if (rte_eth_dev_is_valid_port(port)) + if (!rte_eth_dev_is_valid_port(port)) return -1; rte_eth_dev_info_get(port, &dev_info); @@ -222,7 +221,6 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool) } txconf = dev_info.default_txconf; - txconf.txq_flags = ETH_TXQ_FLAGS_IGNORE; txconf.offloads = port_conf.txmode.offloads; /* Allocate and set up 1 TX queue per Ethernet port. */ for (q = 0; q < tx_rings; q++) { @@ -752,7 +750,7 @@ int main(int argc, char *argv[]) { struct rte_mempool *mbuf_pool; - uint8_t nb_ports; + uint16_t nb_ports; uint16_t portid; int ret; int socket_id; @@ -776,7 +774,7 @@ main(int argc, char *argv[]) rte_exit(EXIT_FAILURE, "Invalid flow_classify parameters\n"); /* Check that there is an even number of ports to send/receive on. */ - nb_ports = rte_eth_dev_count(); + nb_ports = rte_eth_dev_count_avail(); if (nb_ports < 2 || (nb_ports & 1)) rte_exit(EXIT_FAILURE, "Error: number of ports must be even\n");