Page MenuHomeVyOS Platform

VPP: pppoe server doesn't work with xdp driver
Not ApplicablePublicBUG

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)

Event Timeline

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

We can close this as we we remove XDP driver from CLI (https://vyos.dev/T8202)