unix {
  nodaemon
  log /var/log/vpp/vpp.log
  full-coredump
  cli-listen /run/vpp/cli.sock
  gid vpp
  exec /etc/vpp/config/boot.vpp
}

api-trace { on }
api-segment { gid vpp }
socksvr { default }

memory {
  main-heap-size 1G
  main-heap-page-size default-hugepage
}

cpu {
  main-core 0
  corelist-workers 1-3
}

buffers {
  buffers-per-numa 120000
  default data-size 2048
  page-size default-hugepage
}

statseg {
  size 512M
  page-size default-hugepage
  per-node-counters on
}

dpdk {
#  dev 0000:02:00.0 { name e1 num-rx-queues 3 num-tx-queues 4 num-rx-desc 256 num-tx-desc 4096 }
#  dev 0000:03:00.0 { name e2 num-rx-queues 3 num-tx-queues 4 num-rx-desc 256 num-tx-desc 4096 }
  dev 0000:02:00.0 { name e1 }
  dev 0000:03:00.0 { name e2 }
  dev 0000:05:00.0 { name xe0 num-rx-queues 3 num-tx-queues 4 }
  dev 0000:05:00.1 { name xe1 num-rx-queues 3 num-tx-queues 4 }
  no-multi-seg
  decimal-interface-names
#  uio-driver uio_pci_generic
#  uio-driver vfio-pci
}

plugins {
  plugin default { disable }
  plugin dpdk_plugin.so { enable }
  plugin rdma_plugin.so { enable }
  plugin linux_cp_plugin.so { enable }
  plugin linux_nl_plugin.so { enable }
  plugin acl_plugin.so { enable }
  plugin lacp_plugin.so { enable } 
  plugin flowprobe_plugin.so { enable }
  plugin vxlan_plugin.so { enable }
  plugin ping_plugin.so { enable }
  # plugin geneve_plugin.so { enable }
}

logging {
  default-log-level info
  default-syslog-log-level notice
}

linux-cp {
  default netns dataplane
  lcp-sync
}