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
power: fix frequency list buffer validation
[dpdk.git]
/
examples
/
ip_pipeline
/
kni.c
diff --git
a/examples/ip_pipeline/kni.c
b/examples/ip_pipeline/kni.c
index
ebc8c79
..
7e5ff05
100644
(file)
--- a/
examples/ip_pipeline/kni.c
+++ b/
examples/ip_pipeline/kni.c
@@
-7,6
+7,7
@@
#include <rte_ethdev.h>
#include <rte_bus_pci.h>
#include <rte_ethdev.h>
#include <rte_bus_pci.h>
+#include <rte_string_fns.h>
#include "kni.h"
#include "mempool.h"
#include "kni.h"
#include "mempool.h"
@@
-67,7
+68,7
@@
kni_config_network_interface(uint16_t port_id, uint8_t if_up)
{
int ret = 0;
{
int ret = 0;
- if (
port_id >= rte_eth_dev_count(
))
+ if (
!rte_eth_dev_is_valid_port(port_id
))
return -EINVAL;
ret = (if_up) ?
return -EINVAL;
ret = (if_up) ?
@@
-82,7
+83,7
@@
kni_change_mtu(uint16_t port_id, unsigned int new_mtu)
{
int ret;
{
int ret;
- if (
port_id >= rte_eth_dev_count(
))
+ if (
!rte_eth_dev_is_valid_port(port_id
))
return -EINVAL;
if (new_mtu > ETHER_MAX_LEN)
return -EINVAL;
if (new_mtu > ETHER_MAX_LEN)
@@
-106,6
+107,8
@@
kni_create(const char *name, struct kni_params *params)
struct mempool *mempool;
struct link *link;
struct rte_kni *k;
struct mempool *mempool;
struct link *link;
struct rte_kni *k;
+ const struct rte_pci_device *pci_dev;
+ const struct rte_bus *bus = NULL;
/* Check input params */
if ((name == NULL) ||
/* Check input params */
if ((name == NULL) ||
@@
-128,8
+131,13
@@
kni_create(const char *name, struct kni_params *params)
kni_conf.core_id = params->thread_id;
kni_conf.group_id = link->port_id;
kni_conf.mbuf_size = mempool->buffer_size;
kni_conf.core_id = params->thread_id;
kni_conf.group_id = link->port_id;
kni_conf.mbuf_size = mempool->buffer_size;
- kni_conf.addr = dev_info.pci_dev->addr;
- kni_conf.id = dev_info.pci_dev->id;
+ if (dev_info.device)
+ bus = rte_bus_find_by_device(dev_info.device);
+ if (bus && !strcmp(bus->name, "pci")) {
+ pci_dev = RTE_DEV_TO_PCI(dev_info.device);
+ kni_conf.addr = pci_dev->addr;
+ kni_conf.id = pci_dev->id;
+ }
memset(&kni_ops, 0, sizeof(kni_ops));
kni_ops.port_id = link->port_id;
memset(&kni_ops, 0, sizeof(kni_ops));
kni_ops.port_id = link->port_id;
@@
-146,7
+154,7
@@
kni_create(const char *name, struct kni_params *params)
return NULL;
/* Node fill in */
return NULL;
/* Node fill in */
- str
n
cpy(kni->name, name, sizeof(kni->name));
+ str
l
cpy(kni->name, name, sizeof(kni->name));
kni->k = k;
/* Node add to list */
kni->k = k;
/* Node add to list */