Page MenuHomeVyOS Platform

VPP: pppoe server doesn't work with xdp driver
Open, NormalPublicBUG

Description

set service pppoe-server authentication mode 'noauth'
set service pppoe-server client-ip-pool first range '100.64.0.1-100.64.0.100'
set service pppoe-server default-pool 'first'
set service pppoe-server description 'test1'
set service pppoe-server gateway-address '100.64.0.1'
set service pppoe-server interface eth0
set vpp settings interface eth0 driver 'xdp'
commit

Packet trace:

vpp# sh tr                 
------------------- Start of thread 0 vpp_main -------------------
Packet 1

00:02:28:089278: af_xdp-input
  af_xdp: eth0 (1) next-node ethernet-input
00:02:28:089293: ethernet-input
  frame: flags 0x1, hw-if-index 1, sw-if-index 1
  PPPOE_DISCOVERY: 0c:10:bc:bd:00:00 -> ff:ff:ff:ff:ff:ff
00:02:28:089302: pppoe-cp-dispatch
  PPPoE dispatch from sw_if_index 1 next 1 error 0 
  pppoe_code 0x9  ppp_proto 0x101
00:02:28:089368: tap4096-output
  tap4096 flags 0x00180005
  0x0000: 00:00:00:00:00:00 -> 00:00:00:00:00:00
00:02:28:089371: tap4096-tx
    buffer 0x9b2d0: current data 0, length 288, buffer-pool 0, ref-count 1, trace handle 0x0
                    l2-hdr-offset 256 l3-hdr-offset 270 
  hdr-sz 0 l2-hdr-offset 0 l3-hdr-offset 14 l4-hdr-offset 0 l4-hdr-sz 0
  0x0000: 00:00:00:00:00:00 -> 00:00:00:00:00:00

Packet 2

00:02:33:094479: af_xdp-input                                                  
  af_xdp: eth0 (1) next-node ethernet-input                                    
00:02:33:094487: ethernet-input                                                
  frame: flags 0x1, hw-if-index 1, sw-if-index 1                               
  PPPOE_DISCOVERY: 0c:10:bc:bd:00:00 -> ff:ff:ff:ff:ff:ff                      
00:02:33:094494: pppoe-cp-dispatch                                             
  PPPoE dispatch from sw_if_index 1 next 1 error 0                             
  pppoe_code 0x9  ppp_proto 0x101                                              
00:02:33:094497: tap4096-output                                                
  tap4096 flags 0x00180005                                                     
  0x0000: 00:00:00:00:00:00 -> 00:00:00:00:00:00                               
00:02:33:094500: tap4096-tx                                                    
    buffer 0x9b2f7: current data 0, length 288, buffer-pool 0, ref-count 1, trac
e handle 0x1                                                                   
                    l2-hdr-offset 256 l3-hdr-offset 270                        
  hdr-sz 0 l2-hdr-offset 0 l3-hdr-offset 14 l4-hdr-offset 0 l4-hdr-sz 0        
  0x0000: 00:00:00:00:00:00 -> 00:00:00:00:00:00                               
                                                                               
Packet 3                                                                       
                                                                               
00:02:43:104750: af_xdp-input                                                  
  af_xdp: eth0 (1) next-node ethernet-input                                    
00:02:43:104757: ethernet-input                                                
  frame: flags 0x1, hw-if-index 1, sw-if-index 1                               
  PPPOE_DISCOVERY: 0c:10:bc:bd:00:00 -> ff:ff:ff:ff:ff:ff                      
00:02:43:104764: pppoe-cp-dispatch                                             
  PPPoE dispatch from sw_if_index 1 next 1 error 0                             
  pppoe_code 0x9  ppp_proto 0x101                                              
00:02:43:104767: tap4096-output                                                
  tap4096 flags 0x00180005                                                     
  0x0000: 00:00:00:00:00:00 -> 00:00:00:00:00:00                               
00:02:43:104769: tap4096-tx                                                    
    buffer 0x9b31e: current data 0, length 288, buffer-pool 0, ref-count 1, trac
e handle 0x2                                                                   
                    l2-hdr-offset 256 l3-hdr-offset 270                        
  hdr-sz 0 l2-hdr-offset 0 l3-hdr-offset 14 l4-hdr-offset 0 l4-hdr-sz 0        
  0x0000: 00:00:00:00:00:00 -> 00:00:00:00:00:00

tcpdump:

vyos@vyos# run mon traf int any
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
20:05:28.018339 eth0  P   Null Information, send seq 0, rcv seq 0, Flags [Command], length 274
        0x0000:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0010:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0020:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0030:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00f0:  0000 ffff ffff ffff 0c10 bcbd 0000 8863  ...............c
        0x0100:  1109 0000 000c 0101 0000 0103 0004 910d  ................
        0x0110:  0000                                     ..
20:05:38.028871 eth0  P   Null Information, send seq 0, rcv seq 0, Flags [Command], length 274
        0x0000:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0010:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0020:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0030:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00f0:  0000 ffff ffff ffff 0c10 bcbd 0000 8863  ...............c
        0x0100:  1109 0000 000c 0101 0000 0103 0004 910d  ................
        0x0110:  0000                                     ..
^C
2 packets captured
2 packets received by filter
0 packets dropped by kernel
vyos@vyos# run sh ppp se
 ifname | username | ip | ip6 | ip6-dp | calling-sid | rate-limit | state | uptime | rx-bytes | tx-bytes 
--------+----------+----+-----+--------+-------------+------------+-------+--------+----------+----------
[edit]

Details

Version
2026.01.15-1410-integration
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Related Objects

StatusSubtypeAssignedTask
OpenBUGNone
OpenBUGNone

Event Timeline

We should dissalow to configure PPPoE if we use XDP, XDP wasn't implemented for VPP/PPPoE