summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/prox_port_cfg.h
diff options
context:
space:
mode:
Diffstat (limited to 'VNFs/DPPD-PROX/prox_port_cfg.h')
-rw-r--r--VNFs/DPPD-PROX/prox_port_cfg.h38
1 files changed, 35 insertions, 3 deletions
diff --git a/VNFs/DPPD-PROX/prox_port_cfg.h b/VNFs/DPPD-PROX/prox_port_cfg.h
index 455e2b2e..82d58f76 100644
--- a/VNFs/DPPD-PROX/prox_port_cfg.h
+++ b/VNFs/DPPD-PROX/prox_port_cfg.h
@@ -1,5 +1,5 @@
/*
-// Copyright (c) 2010-2017 Intel Corporation
+// Copyright (c) 2010-2020 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -21,17 +21,25 @@
#include <rte_ether.h>
#include <rte_ethdev.h>
#include <rte_version.h>
+#if RTE_VERSION >= RTE_VERSION_NUM(22,11,0,0)
+#include <bus_pci_driver.h> // Please configure DPDK with meson option -Denable_driver_sdk=true
+#else
#if RTE_VERSION >= RTE_VERSION_NUM(17,11,0,0)
#include <rte_bus_pci.h>
#endif
+#endif
#include <rte_pci.h>
+#include "prox_compat.h"
#include "prox_globals.h"
+#include "ip_subnet.h"
enum addr_type {PROX_PORT_MAC_HW, PROX_PORT_MAC_SET, PROX_PORT_MAC_RAND};
#define IPV4_CKSUM 1
#define UDP_CKSUM 2
+#define NB_MCAST_ADDR 16
+#define PROX_MAX_VLAN_TAGS 256
struct prox_port_cfg {
struct rte_mempool *pool[32]; /* Rx/Tx mempool */
@@ -49,10 +57,12 @@ struct prox_port_cfg {
uint32_t n_txd;
uint8_t link_up;
uint32_t link_speed;
+ uint32_t max_link_speed;
uint32_t mtu;
enum addr_type type;
- struct ether_addr eth_addr; /* port MAC address */
- char name[MAX_NAME_SIZE];
+ prox_rte_ether_addr eth_addr; /* port MAC address */
+ char names[PROX_MAX_VLAN_TAGS][MAX_NAME_BUFFER_SIZE];
+ char vdev[MAX_NAME_SIZE];
char short_name[MAX_NAME_SIZE];
char driver_name[MAX_NAME_SIZE];
char rx_ring[MAX_NAME_SIZE];
@@ -61,9 +71,31 @@ struct prox_port_cfg {
struct rte_eth_conf port_conf;
struct rte_eth_rxconf rx_conf;
struct rte_eth_txconf tx_conf;
+ uint64_t requested_rx_offload;
+ uint64_t requested_tx_offload;
+ uint64_t disabled_tx_offload;
+ struct rte_eth_dev_info dev_info;
struct {
int tx_offload_cksum;
} capabilities;
+ uint32_t max_rx_pkt_len;
+ uint32_t min_rx_bufsize;
+ uint16_t min_rx_desc;
+ uint16_t max_rx_desc;
+ uint16_t min_tx_desc;
+ uint16_t max_tx_desc;
+ uint32_t nb_mc_addr;
+ uint8_t available;
+ prox_rte_ether_addr mc_addr[NB_MCAST_ADDR];
+ int dpdk_mapping;
+ struct ip4_subnet ip_addr[PROX_MAX_VLAN_TAGS];
+ int fds[PROX_MAX_VLAN_TAGS];
+ uint32_t vlan_tags[PROX_MAX_VLAN_TAGS];
+ uint8_t is_vdev;
+ uint8_t virtual;
+ uint8_t all_rx_queues;
+ uint16_t n_vlans;
+ uint32_t v6_mask_length;
};
extern rte_atomic32_t lsc;