Dear DPDK Folks,

 

I am following the latest build of home gateway https://s3-docs.fd.io/vpp/23.06/usecases/home_gateway.html for testing and development.

 

Running

Linux PXC-SM-002 5.15.0-91-generic #101-Ubuntu

vpp/jammy,now 23.10-release amd64 [installed]

PRETTY_NAME="Ubuntu 22.04.3 LTS"

NAME="Ubuntu"

VERSION_ID="22.04"

VERSION="22.04.3 LTS (Jammy Jellyfish)"

 

In my vpp startup.conf, which is calling setup.gate and, in turn, runs setup.tmpl I get an error on systemd in bold below.

 

Jan 18 04:23:34 PXC-SM-002 vpp[224896]: set interface l2 bridge: unknown interface `GigabitEthernetb7/0/0 1'

Jan 18 04:23:34 PXC-SM-002 vpp[224896]: exec: CLI line error: GigabitEthernetb7/0/0 1 (this is related to setup.tmpl section)

Jan 18 04:23:34 PXC-SM-002 vpp[224896]: exec: CLI line error:

 

setup.gate runs

 

define HOSTNAME Gate-001

define TRUNK GigabitEthernet65/0/0

 

comment { Specific MAC address yields a constant IP address }

define TRUNK_MACADDR 3c:ec:ef:da:89:58

define BVI_MACADDR 3c:ce:fe:ad:01:02

 

comment { inside subnet 192.168.<inside_subnet>.0/24 }

define INSIDE_SUBNET 1

 

comment { Adjust as needed to match PCI addresses of inside network ports }

define INSIDE_PORT1 GigabitEthernet65/0/1

define INSIDE_PORT2 GigabitEthernet65/0/2

define INSIDE_PORT3 GigabitEthernet65/0/3

define INSIDE_PORT4 GigabitEthernetb7/0/0

define INSIDE_PORT5 GigabitEthernetb7/0/1

define INSIDE_PORT6 GigabitEthernetb7/0/3

 

comment { feature selections }

define FEATURE_ADL uncomment

define FEATURE_NAT44 uncomment

define FEATURE_CNAT comment

define FEATURE_DNS comment

define FEATURE_IP6 comment

define FEATURE_IKE_RESPONDER comment

define FEATURE_MACTIME uncomment

define FEATURE_OVPN uncomment

define FEATURE_MODEM_ROUTE uncomment

 

exec /home/pxcghost/VPP/pxc-gate/setup.tmpl

 

The setup.tmpl tries to create inside ports and, for some reason, fails on one port and stops processing.

 

show macro

 

set int mac address $(TRUNK) $(TRUNK_MACADDR)

set dhcp client intfc $(TRUNK) hostname $(HOSTNAME)

set int state $(TRUNK) up

 

bvi create instance 0

set int mac address bvi0 $(BVI_MACADDR)

set int l2 bridge bvi0 1 bvi

set int ip address bvi0 192.168.$(INSIDE_SUBNET).1/24

set int state bvi0 up

 

set int l2 bridge $(INSIDE_PORT1) 1

set int state $(INSIDE_PORT1) up

set int l2 bridge $(INSIDE_PORT2) 1

set int state $(INSIDE_PORT2) up

set int l2 bridge $(INSIDE_PORT3) 1

set int state $(INSIDE_PORT3) up

set int l2 bridge $(INSIDE_PORT4) 1

set int state $(INSIDE_PORT4) up

set int l2 bridge $(INSIDE_PORT5) 1

set int state $(INSIDE_PORT5) up

set int l2 bridge $(INSIDE_PORT6) 1

set int state $(INSIDE_PORT6) up

 

 

 

comment { dhcp server and host-stack access }

create tap host-if-name lstack host-ip4-addr 192.168.$(INSIDE_SUBNET).2/24 host-ip4-gw 192.168.$(INSIDE_SUBNET).1

set int l2 bridge tap0 1

set int state tap0 up

 

service restart isc-dhcp-server

 

$(FEATURE_ADL) { bin adl_interface_enable_disable $(TRUNK) }

$(FEATURE_ADL) { ip table 1 }

$(FEATURE_ADL) { ip route add table 1 0.0.0.0/0 via local }

 

$(FEATURE_NAT44) { nat44 forwarding enable }

$(FEATURE_NAT44) { nat44 plugin enable sessions 63000 }

$(FEATURE_NAT44) { nat44 add interface address $(TRUNK) }

$(FEATURE_NAT44) { set interface nat44 in bvi0 out $(TRUNK) }

 

comment { iPhones seem to need lots of RA messages... }

$(FEATURE_IP6) { ip6 nd bvi0 ra-managed-config-flag ra-other-config-flag ra-interval 30 20 ra-lifetime 180 }

comment { ip6 nd bvi0 prefix 0::0/0  ra-lifetime 100000 }

 

 

comment { if using the mactime plugin, configure it }

$(FEATURE_MACTIME) { bin mactime_add_del_range name roku mac 3c:ec:ef:da:89:58 allow-static }

$(FEATURE_MACTIME) { bin mactime_enable_disable $(INSIDE_PORT1) }

$(FEATURE_MACTIME) { bin mactime_enable_disable $(INSIDE_PORT2) }

$(FEATURE_MACTIME) { bin mactime_enable_disable $(INSIDE_PORT3) }

$(FEATURE_MACTIME) { bin mactime_enable_disable $(INSIDE_PORT4) }

 

$(FEATURE_MODEM_ROUTE) { ip route add 192.168.1.1/23 via $(TRUNK) }

for some reason, port4 fails as per the system, and I think it fails on the DHCP part of the script; any pointers are appreciated. I can bind ports and unbind back to kernel with no problem, and I can see the interfaces inside vpp and bvi look ok.

 

sudo vppctl show interface, ip addresses not assigned as I think that’s because the script doesn’t process the lstack and dhcp portion due to crashing.

 

              Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     Counter          Count    

GigabitEthernet65/0/0             1      up          9000/0/0/0     rx packets                   585

                                                                    rx bytes                   72405

                                                                    tx packets                     3

                                                                    tx bytes                    1002

                                                                    drops                        585

                                                                    ip4                          228

                                                                    ip6                           26

GigabitEthernet65/0/1             2      up          9000/0/0/0    

GigabitEthernet65/0/2             3      up          9000/0/0/0    

GigabitEthernet65/0/3             4      up          9000/0/0/0    

TenGigabitEthernetb7/0/0          5     down         9000/0/0/0    

TenGigabitEthernetb7/0/1          6     down         9000/0/0/0    

TenGigabitEthernetb7/0/3          7     down         9000/0/0/0    

bvi0                              8      up          9000/0/0/0    

local0                            0     down          0/0/0/0      

 

 

Network devices using DPDK-compatible driver

============================================

0000:65:00.0 'I350 Gigabit Network Connection 1521' drv=vfio-pci unused=igb,igb_uio,uio_pci_generic

0000:65:00.1 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=igb,vfio-pci,uio_pci_generic

0000:65:00.2 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=igb,vfio-pci,uio_pci_generic

0000:65:00.3 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=igb,vfio-pci,uio_pci_generic

0000:b7:00.0 'Ethernet Connection X722 for 10GBASE-T 37d2' drv=igb_uio unused=i40e,vfio-pci,uio_pci_generic

0000:b7:00.1 'Ethernet Connection X722 for 10GBASE-T 37d2' drv=igb_uio unused=i40e,vfio-pci,uio_pci_generic

0000:b7:00.3 'Ethernet Connection X722 for 10GbE SFP+ 37d0' drv=igb_uio unused=i40e,vfio-pci,uio_pci_generic

 

Network devices using kernel driver

===================================

0000:b7:00.2 'Ethernet Connection X722 for 10GbE SFP+ 37d0' if=eno7 drv=i40e unused=igb_uio,vfio-pci,uio_pci_generic *Active*

 

No 'Baseband' devices detected

==============================

 

Crypto devices using kernel driver

==================================

0000:b5:00.0 'C62x Chipset QuickAssist Technology 37c8' drv=c6xx unused=qat_c62x,igb_uio,vfio-pci,uio_pci_generic

0000:b6:00.0 'C62x Chipset QuickAssist Technology 37c8' drv=c6xx unused=qat_c62x,igb_uio,vfio-pci,uio_pci_generic

 

DMA devices using kernel driver

===============================

0000:00:04.0 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=igb_uio,vfio-pci,uio_pci_generic

0000:00:04.1 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=igb_uio,vfio-pci,uio_pci_generic

0000:00:04.2 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=igb_uio,vfio-pci,uio_pci_generic

0000:00:04.3 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=igb_uio,vfio-pci,uio_pci_generic

0000:00:04.4 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=igb_uio,vfio-pci,uio_pci_generic

0000:00:04.5 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=igb_uio,vfio-pci,uio_pci_generic

0000:00:04.6 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=igb_uio,vfio-pci,uio_pci_generic

0000:00:04.7 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=igb_uio,vfio-pci,uio_pci_generic

 

No 'Eventdev' devices detected

==============================

 

No 'Mempool' devices detected

=============================

 

No 'Compress' devices detected

==============================

 

No 'Misc (rawdev)' devices detected

===================================

 

No 'Regex' devices detected

 

Bus info          Device     Class          Description

=======================================================

pci@0000:65:00.0             network        I350 Gigabit Network Connection

pci@0000:65:00.1             network        I350 Gigabit Network Connection

pci@0000:65:00.2             network        I350 Gigabit Network Connection

pci@0000:65:00.3             network        I350 Gigabit Network Connection

pci@0000:b7:00.0             network        Ethernet Connection X722 for 10GBASE-T

pci@0000:b7:00.1             network        Ethernet Connection X722 for 10GBASE-T

pci@0000:b7:00.2  eno7       network        Ethernet Connection X722 for 10GbE SFP+

pci@0000:b7:00.3             network        Ethernet Connection X722 for 10GbE SFP+

 

eno7 is reserved to allow me remote access on kernel.

 

Any pointers greatly appreciated