X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=VNFs%2FDPPD-PROX%2Fprox_port_cfg.h;h=82d58f765d9d9c57f378029882d5689fcf8e8787;hb=809edd5270e8a22f2c29d711203d579fdf7addfb;hp=0c804c6803a4ba6471fcf36fa5531590cf91179b;hpb=05a1a5d34353c5f09c25a01b8dc543b06553915d;p=samplevnf.git diff --git a/VNFs/DPPD-PROX/prox_port_cfg.h b/VNFs/DPPD-PROX/prox_port_cfg.h index 0c804c68..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 #include #include +#if RTE_VERSION >= RTE_VERSION_NUM(22,11,0,0) +#include // Please configure DPDK with meson option -Denable_driver_sdk=true +#else #if RTE_VERSION >= RTE_VERSION_NUM(17,11,0,0) #include #endif +#endif #include +#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,11 +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;