git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/bnxt: fix COS queue mapping
[dpdk.git]
/
examples
/
flow_filtering
/
main.c
diff --git
a/examples/flow_filtering/main.c
b/examples/flow_filtering/main.c
index
f595034
..
cc9e7e7
100644
(file)
--- a/
examples/flow_filtering/main.c
+++ b/
examples/flow_filtering/main.c
@@
-45,10
+45,10
@@
struct rte_flow *flow;
#include "flow_blocks.c"
static inline void
#include "flow_blocks.c"
static inline void
-print_ether_addr(const char *what, struct ether_addr *eth_addr)
+print_ether_addr(const char *what, struct
rte_
ether_addr *eth_addr)
{
{
- char buf[ETHER_ADDR_FMT_SIZE];
-
ether_format_addr(buf,
ETHER_ADDR_FMT_SIZE, eth_addr);
+ char buf[
RTE_
ETHER_ADDR_FMT_SIZE];
+
rte_ether_format_addr(buf, RTE_
ETHER_ADDR_FMT_SIZE, eth_addr);
printf("%s%s", what, buf);
}
printf("%s%s", what, buf);
}
@@
-56,7
+56,7
@@
static void
main_loop(void)
{
struct rte_mbuf *mbufs[32];
main_loop(void)
{
struct rte_mbuf *mbufs[32];
- struct ether_hdr *eth_hdr;
+ struct
rte_
ether_hdr *eth_hdr;
struct rte_flow_error error;
uint16_t nb_rx;
uint16_t i;
struct rte_flow_error error;
uint16_t nb_rx;
uint16_t i;
@@
-71,7
+71,7
@@
main_loop(void)
struct rte_mbuf *m = mbufs[j];
eth_hdr = rte_pktmbuf_mtod(m,
struct rte_mbuf *m = mbufs[j];
eth_hdr = rte_pktmbuf_mtod(m,
- struct ether_hdr *);
+ struct
rte_
ether_hdr *);
print_ether_addr("src=",
ð_hdr->s_addr);
print_ether_addr(" - dst=",
print_ether_addr("src=",
ð_hdr->s_addr);
print_ether_addr(" - dst=",
@@
-100,15
+100,19
@@
assert_link_status(void)
{
struct rte_eth_link link;
uint8_t rep_cnt = MAX_REPEAT_TIMES;
{
struct rte_eth_link link;
uint8_t rep_cnt = MAX_REPEAT_TIMES;
+ int link_get_err = -EINVAL;
memset(&link, 0, sizeof(link));
do {
memset(&link, 0, sizeof(link));
do {
- rte_eth_link_get(port_id, &link);
- if (link.link_status == ETH_LINK_UP)
+
link_get_err =
rte_eth_link_get(port_id, &link);
+ if (link
_get_err == 0 && link
.link_status == ETH_LINK_UP)
break;
rte_delay_ms(CHECK_INTERVAL);
} while (--rep_cnt);
break;
rte_delay_ms(CHECK_INTERVAL);
} while (--rep_cnt);
+ if (link_get_err < 0)
+ rte_exit(EXIT_FAILURE, ":: error: link get is failing: %s\n",
+ rte_strerror(-link_get_err));
if (link.link_status == ETH_LINK_DOWN)
rte_exit(EXIT_FAILURE, ":: error: link is still down\n");
}
if (link.link_status == ETH_LINK_DOWN)
rte_exit(EXIT_FAILURE, ":: error: link is still down\n");
}
@@
-121,7
+125,6
@@
init_port(void)
struct rte_eth_conf port_conf = {
.rxmode = {
.split_hdr_size = 0,
struct rte_eth_conf port_conf = {
.rxmode = {
.split_hdr_size = 0,
- .offloads = DEV_RX_OFFLOAD_CRC_STRIP,
},
.txmode = {
.offloads =
},
.txmode = {
.offloads =
@@
-137,6
+140,13
@@
init_port(void)
struct rte_eth_rxconf rxq_conf;
struct rte_eth_dev_info dev_info;
struct rte_eth_rxconf rxq_conf;
struct rte_eth_dev_info dev_info;
+ ret = rte_eth_dev_info_get(port_id, &dev_info);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "Error during getting device (port %u) info: %s\n",
+ port_id, strerror(-ret));
+
+ port_conf.txmode.offloads &= dev_info.tx_offload_capa;
printf(":: initializing port: %d\n", port_id);
ret = rte_eth_dev_configure(port_id,
nr_queues, nr_queues, &port_conf);
printf(":: initializing port: %d\n", port_id);
ret = rte_eth_dev_configure(port_id,
nr_queues, nr_queues, &port_conf);
@@
-146,10
+156,8
@@
init_port(void)
ret, port_id);
}
ret, port_id);
}
- rte_eth_dev_info_get(port_id, &dev_info);
rxq_conf = dev_info.default_rxconf;
rxq_conf.offloads = port_conf.rxmode.offloads;
rxq_conf = dev_info.default_rxconf;
rxq_conf.offloads = port_conf.rxmode.offloads;
- /* only set Rx queues: something we care only so far */
for (i = 0; i < nr_queues; i++) {
ret = rte_eth_rx_queue_setup(port_id, i, 512,
rte_eth_dev_socket_id(port_id),
for (i = 0; i < nr_queues; i++) {
ret = rte_eth_rx_queue_setup(port_id, i, 512,
rte_eth_dev_socket_id(port_id),
@@
-176,7
+184,12
@@
init_port(void)
}
}
}
}
- rte_eth_promiscuous_enable(port_id);
+ ret = rte_eth_promiscuous_enable(port_id);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ ":: promiscuous mode enable failed: err=%s, port=%u\n",
+ rte_strerror(-ret), port_id);
+
ret = rte_eth_dev_start(port_id);
if (ret < 0) {
rte_exit(EXIT_FAILURE,
ret = rte_eth_dev_start(port_id);
if (ret < 0) {
rte_exit(EXIT_FAILURE,