From 8f402c2ba47ed3ccbf94f9f037ec6e18d6b975ea Mon Sep 17 00:00:00 2001 From: Viacheslav Hletenko Date: Mon, 26 Jun 2023 11:24:01 +0000 Subject: T1797: Add initial vpp configuration Add initial configuration mode for VPP (PoC) set vpp cpu corelist-workers '2' set vpp cpu main-core '1' set vpp interface eth1 num-rx-desc '256' set vpp interface eth1 num-rx-queues '512' set vpp interface eth1 num-tx-desc '256' set vpp interface eth1 num-tx-queues '512' set vpp interface eth1 pci '0000:02:00.0' set vpp interface eth1 rx-mode 'polling' set vpp interface eth2 pci '0000:08:00.0' Limitation: - 'set vpp interface ethX pci auto' works only per first commit, then interface detached from default stack and creates tun interface 'ethX' to communicate with default stack. In this case we can't get PCI address via ethtool for 'tun' interfaces. But we can set pci address manualy. - Interface sync between default stack and VPP-DPDK stack After vpp change it doesn't trigger iproute2 for changes (should be written later) I.e. if we change something in vpp per each commit it restarts vpp.service it gets empty interface config as we don't configure vpp directly and it should be configured via iproute2 But then if we do any change on interface (for example description) it gets IP address, MTU, state, etc. --- interface-definitions/vpp.xml.in | 342 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 342 insertions(+) create mode 100644 interface-definitions/vpp.xml.in (limited to 'interface-definitions') diff --git a/interface-definitions/vpp.xml.in b/interface-definitions/vpp.xml.in new file mode 100644 index 000000000..51ab776c3 --- /dev/null +++ b/interface-definitions/vpp.xml.in @@ -0,0 +1,342 @@ + + + + + Accelerated data-plane + 1280 + + + + + CPU settings + + + + + List of cores worker threads + + <id> + CPU core id + + + <idN>-<idM> + CPU core id range (use '-' as delimiter) + + + + + not a valid CPU core value or range + + + + + + Main core + + u32:0-512 + Assign main thread to specific core + + + + + + + + + Skip cores + + u32:0-512 + Skip cores + + + + + + + + + Create worker threads + + u32:0-4294967295 + Worker threads + + + + + + + + + + + Interface + + ethN + Interface name + + + ((eth|lan)[0-9]+|(eno|ens|enp|enx).+) + + Invalid interface name + + + + + Number of receive ring descriptors + + u32:256-8192 + Number of receive ring descriptors + + + + + + + + + Number of tranceive ring descriptors + + u32:256-8192 + Number of tranceive ring descriptors + + + + + + + + + Number of receive ring descriptors + + u32:256-8192 + Number of receive queues + + + + + + + + + Number of tranceive ring descriptors + + u32:256-8192 + Number of tranceive queues + + + + + + + + + PCI address allocation + + auto + Auto detect PCI address + + + <xxxx:xx:xx.x> + Set Peripheral Component Interconnect (PCI) address + + + (auto|[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\.[0-9a-fA-F]) + + + auto + + + + Receive packet processing mode + + polling interrupt adaptive + + + polling + Constantly check for new data + + + interrupt + Interrupt mode + + + adaptive + Adaptive mode + + + (polling|interrupt|adaptive) + + + + + + + + IP settings + + + + + IPv4 heap size + + u32:0-4294967295 + Amount of memory (in Mbytes) dedicated to the destination IP lookup table + + + + + + 32 + + + + + + IPv6 settings + + + + + IPv6 heap size + + u32:0-4294967295 + Amount of memory (in Mbytes) dedicated to the destination IP lookup table + + + + + + 32 + + + + IPv6 forwarding table hash buckets + + u32:1-4294967295 + IPv6 forwarding table hash buckets + + + + + + 65536 + + + + + + Level 2 MAC address learning settings + + + + + Number of MAC addresses in the L2 FIB + + u32:1-4294967295 + Number of concurent entries + + + + + + 4194304 + + + + + + Loggint settings + + + + + default-log-level + + alert crit debug disabled emerg err info notice warn + + + alert + Alert + + + crit + Critical + + + debug + Debug + + + disabled + Disabled + + + emerg + Emergency + + + err + Error + + + info + Informational + + + notice + Notice + + + warn + Warning + + + (alert|crit|debug|disabled|emerg|err|info|notice|warn) + + + + + + + + Memory settings + + + + + Set memory size for protectable memory allocator (pmalloc) memory space + + <number>m + Megabyte + + + <number>g + Gigabyte + + + + + + + + Unix settings + + + + + Add a fixed-sleep between main loop poll + + u32:0-4294967295 + Number of receive queues + + + + + + 0 + + + + + + -- cgit v1.2.3