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: add rte prefix to ether structures
[dpdk.git]
/
drivers
/
net
/
af_packet
/
rte_eth_af_packet.c
diff --git
a/drivers/net/af_packet/rte_eth_af_packet.c
b/drivers/net/af_packet/rte_eth_af_packet.c
index
bc7daed
..
b5c4bef
100644
(file)
--- a/
drivers/net/af_packet/rte_eth_af_packet.c
+++ b/
drivers/net/af_packet/rte_eth_af_packet.c
@@
-6,6
+6,7
@@
* All rights reserved.
*/
* All rights reserved.
*/
+#include <rte_string_fns.h>
#include <rte_mbuf.h>
#include <rte_ethdev_driver.h>
#include <rte_ethdev_vdev.h>
#include <rte_mbuf.h>
#include <rte_ethdev_driver.h>
#include <rte_ethdev_vdev.h>
@@
-72,7
+73,7
@@
struct pmd_internals {
int if_index;
char *if_name;
int if_index;
char *if_name;
- struct ether_addr eth_addr;
+ struct
rte_
ether_addr eth_addr;
struct tpacket_req req;
struct tpacket_req req;
@@
-433,8
+434,7
@@
eth_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
int ret;
int s;
unsigned int data_size = internals->req.tp_frame_size -
int ret;
int s;
unsigned int data_size = internals->req.tp_frame_size -
- TPACKET2_HDRLEN -
- sizeof(struct sockaddr_ll);
+ TPACKET2_HDRLEN;
if (mtu > data_size)
return -EINVAL;
if (mtu > data_size)
return -EINVAL;
@@
-443,7
+443,7
@@
eth_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
if (s < 0)
return -EINVAL;
if (s < 0)
return -EINVAL;
- s
nprintf(ifr.ifr_name, IFNAMSIZ, "%s", internals->if_name
);
+ s
trlcpy(ifr.ifr_name, internals->if_name, IFNAMSIZ
);
ret = ioctl(s, SIOCSIFMTU, &ifr);
close(s);
ret = ioctl(s, SIOCSIFMTU, &ifr);
close(s);
@@
-463,7
+463,7
@@
eth_dev_change_flags(char *if_name, uint32_t flags, uint32_t mask)
if (s < 0)
return;
if (s < 0)
return;
- s
nprintf(ifr.ifr_name, IFNAMSIZ, "%s", if_name
);
+ s
trlcpy(ifr.ifr_name, if_name, IFNAMSIZ
);
if (ioctl(s, SIOCGIFFLAGS, &ifr) < 0)
goto out;
ifr.ifr_flags &= mask;
if (ioctl(s, SIOCGIFFLAGS, &ifr) < 0)
goto out;
ifr.ifr_flags &= mask;
@@
-926,8
+926,7
@@
rte_pmd_af_packet_probe(struct rte_vdev_device *dev)
PMD_LOG(INFO, "Initializing pmd_af_packet for %s", name);
PMD_LOG(INFO, "Initializing pmd_af_packet for %s", name);
- if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
- strlen(rte_vdev_device_args(dev)) == 0) {
+ if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
eth_dev = rte_eth_dev_attach_secondary(name);
if (!eth_dev) {
PMD_LOG(ERR, "Failed to probe %s", name);
eth_dev = rte_eth_dev_attach_secondary(name);
if (!eth_dev) {
PMD_LOG(ERR, "Failed to probe %s", name);
@@
-987,6
+986,12
@@
rte_pmd_af_packet_remove(struct rte_vdev_device *dev)
if (eth_dev == NULL)
return -1;
if (eth_dev == NULL)
return -1;
+ /* mac_addrs must not be freed alone because part of dev_private */
+ eth_dev->data->mac_addrs = NULL;
+
+ if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+ return rte_eth_dev_release_port(eth_dev);
+
internals = eth_dev->data->dev_private;
for (q = 0; q < internals->nb_queues; q++) {
rte_free(internals->rx_queue[q].rd);
internals = eth_dev->data->dev_private;
for (q = 0; q < internals->nb_queues; q++) {
rte_free(internals->rx_queue[q].rd);
@@
-994,8
+999,6
@@
rte_pmd_af_packet_remove(struct rte_vdev_device *dev)
}
free(internals->if_name);
}
free(internals->if_name);
- rte_free(eth_dev->data->dev_private);
-
rte_eth_dev_release_port(eth_dev);
return 0;
rte_eth_dev_release_port(eth_dev);
return 0;