Update PROX to CRC STRIP default bahavior change in DPDK
[samplevnf.git] / VNFs / DPPD-PROX / defaults.c
index eeb21b2..61b4419 100644 (file)
@@ -26,6 +26,8 @@
 #include "prox_port_cfg.h"
 #include "etypes.h"
 #include "toeplitz.h"
+#include "handle_master.h"
+#include "prox_compat.h"
 
 #define TEN_GIGABIT     1250000000
 #define QUEUE_SIZES     128
 
 static const struct rte_eth_conf default_port_conf = {
        .rxmode = {
-               .split_hdr_size = 0,
-               .header_split   = 0, /* Header Split disabled */
-               .hw_ip_checksum = 0, /* IP checksum offload disabled */
-               .hw_vlan_filter = 0, /* VLAN filtering disabled */
-               .hw_vlan_strip = 0, /* VLAN filtering disabled */
-               .jumbo_frame    = 0, /* Jumbo frame support disabled */
-               .hw_strip_crc   = 1, /* CRC stripped by hardware --- always set to 1 in VF */
-               .hw_vlan_extend = 0,
-               .mq_mode        = 0
+               .mq_mode        = 0,
+               .max_rx_pkt_len = PROX_MTU + ETHER_HDR_LEN + ETHER_CRC_LEN
        },
        .rx_adv_conf = {
                .rss_conf = {
@@ -116,6 +111,7 @@ void set_global_defaults(__attribute__((unused)) struct prox_cfg *prox_cfg)
 void set_task_defaults(struct prox_cfg* prox_cfg, struct lcore_cfg* lcore_cfg_init)
 {
        prox_cfg->master = RTE_MAX_LCORE;
+       handle_ctrl_plane = NULL;
 
        for (uint32_t i = 0; i < RTE_DIM(prox_cfg->cpe_table_ports); ++i) {
                prox_cfg->cpe_table_ports[i] = -1;
@@ -162,7 +158,6 @@ void set_task_defaults(struct prox_cfg* prox_cfg, struct lcore_cfg* lcore_cfg_in
                        targ->tunnel_hop_limit = 3;
                        targ->ctrl_freq = 1000;
                        targ->lb_friend_core = 0xFF;
-                       targ->mbuf_size = MBUF_SIZE;
                        targ->n_pkts = 1024*64;
                        targ->runtime_flags |= TASK_TX_CRC;
                        targ->accuracy_limit_nsec = 5000;
@@ -174,6 +169,7 @@ void set_port_defaults(void)
 {
        for (uint8_t i = 0; i < PROX_MAX_PORTS; ++i ) {
                prox_port_cfg[i].promiscuous = 1;
+               prox_port_cfg[i].nb_mc_addr = 0;
                prox_port_cfg[i].n_rxd = NB_RX_RING_DESC;
                prox_port_cfg[i].n_txd = NB_TX_RING_DESC;
                prox_port_cfg[i].port_conf = default_port_conf;
@@ -182,5 +178,12 @@ void set_port_defaults(void)
                prox_port_cfg[i].rx_ring[0] = '\0';
                prox_port_cfg[i].tx_ring[0] = '\0';
                prox_port_cfg[i].mtu = PROX_MTU;
+
+               // CRC_STRIP becoming the default behavior in DPDK 18.08, and
+               // DEV_RX_OFFLOAD_CRC_STRIP define has been deleted
+#if defined (DEV_RX_OFFLOAD_CRC_STRIP)
+               prox_port_cfg[i].requested_rx_offload = DEV_RX_OFFLOAD_CRC_STRIP;
+#endif
+               prox_port_cfg[i].requested_tx_offload = DEV_TX_OFFLOAD_IPV4_CKSUM | DEV_TX_OFFLOAD_UDP_CKSUM;
        }
 }