Virtual Tunnel Interface for PPPoE

My topology ONT (PPPoE interface with IPv4 and IPv6 address)->x86 Router running on OpenWRT -> DUMB Wifi AP running on OpenWRT -> Wi-FI and ethernet clients.

I was able to successfully setup my connection to the ISP but noticed that OpenWRT automatically created a VTI tunnel interface for PPPoE (WAN and WAN6). Then I noticed that there are two packages related to VTI's on the repository called: kmod-ip-vti and kmod-ip6-vti. Are they needed? Do they add funtionality that I would not have had otherwise?

Thanks in Advance

I am also connected using PPPoE through an ONT, but OpenWrt did not create any VTI tunnel, and I did not install any package related to VTI. Perhaps you configured this previously, and cannot remember about it now?

Hello @eduperez. Thank you for taking a look. I have been running 22.03.05 and 23.05 rc2 on the router for a while and have installed both a few times. On all occassions the VTI was automatically created in the Interfaces-> Devices tab of router in Luci web GUI. It looks like this:


I have to mention that the infrastructure provider requires you to use a VLAN ID on the PPPOE WAN interface. Are the kmod VTI packages required or does it add functionality?

PPPoE as a protocol for wan works out of the box without the need for any other packages. You can use vlan as well quite easily:

network.wan=interface
network.wan.device='eth1.835'
network.wan.proto='pppoe'
network.wan.username='xxx'
network.wan.metric='10'
network.wan.password='xxx'
network.wan.keepalive='6 10'
network.wan.ipv6='1'
network.wan.peerdns='0'

Thanks @trendy. I understand that. What I am curious about is the fact that the PPPoE presents as a VTI under in my devices page. If it is a VTI, I wonder if my OpenWRT installation would benefit from said VTI kmod packages. Could it perhaps provide extra functionality?

It is not a vti, it is ppp type encapsulation in contrast to the ipsec vti.

My two cents:

  • My ISP also requires configuring an VLAN, but this is completely unrelated to VTI tunnels.
  • I can confirm that the VTI modules are not needed, as I do not have them installed.
  • Where exactly do you see the VTI tunnel being created?

Thanks @eduperez.

This device was created automatically in the luci-> interface - devices tab


when I entered my ISP credentials to setup the connection. This device was not there when my topology was different (FTTC ->ISP router in bridge modeI->x86 Router (OpenWRT) -> Dumb WiFi AP(OpenWRT)). I was curious what vti stood for so looked it up, hence my admittedly very limited understanding of VTI's. I also noticed that there were VTI kmod packages available on the OpenWRT repository and thought they were either needed or would add functionality, hence my question. Thanks for your insights.

I have the pppoe-wan as tunnel interface, but no vti.
And the MTU looks like another type, not connected to ppp.
If you want to troubleshoot further, you can post the following:

Please run the following commands (copy-paste the whole block) and paste the output here, using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have

ubus call system board; uci export network; \
ip link show; lsmod; opkg list-installed
1 Like

I am going to post the results in chunks due to the character limitations of posts. Here you go. I have to admit that my curiousity led me to install the two kmod-vti packages, hence their inclusion:

root@Router:~# ubus call system board; uci export network; \ ip link show; lsmod; opkg list-installed                                                        
{                                                                                                                                                            
        "kernel": "5.15.118",                                                                                                                                
        "hostname": "Router",                                                                                                                                
        "system": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz",                                                                                                
        "model": "ZOTAC ZBOX-CI620/CI640/CI660",                                                                                                             
        "board_name": "zotac-zbox-ci620-ci640-ci660",                                                                                                        
        "rootfs_type": "ext4",                                                                                                                               
        "release": {                                                                                                                                         
                "distribution": "OpenWrt",                                                                                                                   
                "version": "23.05.0-rc2",                                                                                                                    
                "revision": "r23228-cd17d8df2a",                                                                                                             
                "target": "x86/64",                                                                                                                          
                "description": "OpenWrt 23.05.0-rc2 r23228-cd17d8df2a"                                                                                       
        }                                                                                                                                                    
}                                                                                                                                                            
package network                                                                                                                                              
                                                                                                                                                             
config interface 'loopback'                                                                                                                                  
        option device 'lo'                                                                                                                                   
        option proto 'static'                                                                                                                                
        option ipaddr '127.0.0.1'                                                                                                                            
        option netmask '255.0.0.0'                                                                                                                           
                                                                                                                                                             
config globals 'globals'                                                                                                                                     
                                                                                                                                                             
config device                                                                                                                                                
        option name 'br-lan'                                                                                                                                 
        option type 'bridge'                                                                                                                                 
        list ports 'eth0'                                                                                                                                    
        option ethtool_opts 'rx-usecs 0'                                                                                                                     
        option mtu6 '1492'                                                                                                                                   
                                                                                                                                                             
config interface 'lan'                                                                                                                                       
        option device 'br-lan'                                                                                                                               
        option proto 'static'                                                                                                                                
        option ipaddr '192.168.1.1'                                                                                                                          
        option netmask '255.255.255.0'                                                                                                                       
        option ip6assign '60'                                                                                                                                
                                                                                                                                                             
config interface 'wan'                                                                                                                                       
        option proto 'pppoe'                                                                                                                                 
        option device 'eth1.911'                                                                                                                             
        option username ''                                                                                                                      
        option password ''                                                                                                                           
        option peerdns '0'                                                                                                                                   
        option delegate '0'                                                                                                                                  
        option ethtool_opts 'rx-usecs 0'                                                                                                                     
        option ipv6 '1'                                                                                                                                      
        list dns '9.9.9.9'                                                                                                                                   
        list dns '149.112.112.112'                                                                                                                           
        option dns_metric '0'                                                                                                                                
        option mtu '1500'                                                                                                                                    
                                                                                                                                                             
config interface 'wan6'                                                                                                                                      
        option proto 'dhcpv6'                                                                                                                                
        option device '@wan'                                                                                                                                 
        option reqaddress 'try'                                                                                                                              
        option reqprefix 'auto'                                                                                                                              
        list dns '2620:fe::fe'                                                                                                                               
        list dns '2620:fe::9'                                                                                                                                
        option dns_metric '0'                                                                                                                                
        option peerdns '0'                                                                                                                                   
        option ip6assign '52'                                                                                                                                
                                                                                                                                                             
config device                                                                                                                                                
        option name 'eth1.911'                                                                                                                               
        option type '8021q'                                                                                                                                  
        option ifname 'eth1'                                                                                                                                 
        option vid '911'                                                                                                                                     
        option mtu6 '1500'                                                                                                                                   
                                                                                                                                                             

-ash:  ip: not found
act_gact               12288  0
act_mirred             12288  1
act_skbedit            12288  0
af_key                 32768  0
ah4                    16384  0
ah6                    12288  0
authenc                12288  1 authencesn
authencesn             12288  0
button_hotplug         12288  0
cbc                    12288  0
cls_basic              12288  0
cls_flow               16384  0
cls_fw                 12288  0
cls_matchall           12288  0
cls_route              16384  0
cls_u32                20480  1
crc_ccitt              12288  1 ppp_async
crypto_acompress       12288  1 deflate
deflate                12288  0
des_generic            12288  0
echainiv               12288  0
em_u32                 12288  0
ena                    73728  0
esp4                   16384  0
esp6                   16384  0
fat                    61440  1 vfat
hmac                   12288  0
ifb                    12288  0
ip_set                 28672 17 xt_set,ip_set_list_set,ip_set_hash_netportnet,ip_set_hash_netport,ip_set_hash_netnet,ip_set_hash_netiface,ip_set_hash_net,ip_set_hash_mac,ip_set_hash_ipportnet,ip_set_hash_ipportip,ip_set_hash_ipport,ip_set_hash_ipmark,ip_set_hash_ipmac,ip_set_hash_ip,ip_set_bitmap_port,ip_set_bitmap_ipmac,ip_set_bitmap_ip
ip_set_bitmap_ip       16384  0
ip_set_bitmap_ipmac    16384  0
ip_set_bitmap_port     12288  0
ip_set_hash_ip         28672  0
ip_set_hash_ipmac      28672  0
ip_set_hash_ipmark     28672  0
ip_set_hash_ipport     28672  0
ip_set_hash_ipportip   28672  0
ip_set_hash_ipportnet   36864  0
ip_set_hash_mac        20480  0
ip_set_hash_net        32768  0
ip_set_hash_netiface   36864  0
ip_set_hash_netnet     36864  0
ip_set_hash_netport    32768  0
ip_set_hash_netportnet   36864  0
ip_set_list_set        16384  0
ip_tables              20480  2 iptable_mangle,iptable_filter
ip_tunnel              24576  1 ip_vti
ip_vti                 12288  0
ip6_tunnel             32768  1 ip6_vti
ip6_vti                20480  0
ipcomp                 12288  0
ipcomp6                12288  0
ipt_ECN                12288  0
ipt_REJECT             12288  0
iptable_filter         12288  0
iptable_mangle         12288  0
libcrc32c              12288  1 nf_tables
libdes                 20480  1 des_generic
md5                    12288  0
mii                    12288  0
nf_conntrack           77824  8 nft_redir,nft_nat,nft_masq,nft_flow_offload,nft_ct,nf_nat,nf_flow_table,nf_conntrack_netlink
nf_conntrack_netlink   32768  0
nf_defrag_ipv4         12288  1 nf_conntrack
nf_defrag_ipv6         16384  1 nf_conntrack
nf_flow_table          28672  4 nft_flow_offload,nf_flow_table_ipv6,nf_flow_table_ipv4,nf_flow_table_inet
nf_flow_table_inet     12288  0
nf_flow_table_ipv4     12288  0
nf_flow_table_ipv6     12288  0
nf_log_syslog          16384  0
nf_nat                 28672  4 nft_redir,nft_nat,nft_masq,nft_chain_nat
nf_reject_ipv4         12288  3 ipt_REJECT,nft_reject_ipv4,nft_reject_inet
nf_reject_ipv6         12288  2 nft_reject_ipv6,nft_reject_inet
nf_tables             172032238 nft_redir,nft_nat,nft_masq,nft_flow_offload,nft_fib_inet,nft_ct,nft_chain_nat,nf_flow_table_ipv6,nf_flow_table_ipv4,nf_flow_table_inet,nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet,nft_reject,nft_quota,nft_objref,nft_numgen,nft_log,nft_limit,nft_hash,nft_fib_ipv6,nft_fib_ipv4,nft_fib,nft_counter
nfnetlink              16384  3 nf_conntrack_netlink,nf_tables,ip_set
nft_chain_nat          12288  2
nft_counter            12288 20
nft_ct                 16384 10
nft_fib                12288  3 nft_fib_inet,nft_fib_ipv6,nft_fib_ipv4
nft_fib_inet           12288  0
nft_fib_ipv4           12288  1 nft_fib_inet
nft_fib_ipv6           12288  1 nft_fib_inet
nft_flow_offload       12288  0
nft_hash               12288  0
nft_limit              12288  5
nft_log                12288  0
nft_masq               12288  1
nft_nat                12288  0
nft_numgen             12288  0
nft_objref             12288  0
nft_quota              12288  0
nft_redir              12288  0
nft_reject             12288  3 nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet
nft_reject_inet        12288  2
nft_reject_ipv4        12288  1
nft_reject_ipv6        12288  0
nls_cp437              16384  1
nls_iso8859_1          12288  1
nls_utf8               12288  0
ppp_async              16384  0
ppp_generic            32768  7 pppoe,ppp_async,pppox
pppoe                  16384  2
pppox                  12288  1 pppoe
r8169                  77824  0
realtek                24576  2
sch_cake               32768  2
sch_hfsc               24576  0
sch_htb                28672  0
sch_ingress            12288  1
sch_tbf                16384  0
sha1_generic           12288  1 sha1_ssse3
sha1_ssse3             28672  0
slhc                   16384  1 ppp_generic
tunnel4                12288  2 ip_vti,xfrm4_tunnel
tunnel6                12288  3 ip6_vti,xfrm6_tunnel,ip6_tunnel
vfat                   16384  1
x_tables               24576 24 ipt_REJECT,xt_time,xt_tcpudp,xt_tcpmss,xt_statistic,xt_multiport,xt_mark,xt_mac,xt_limit,xt_length,xt_hl,xt_ecn,xt_dscp,xt_comment,xt_TCPMSS,xt_LOG,xt_HL,xt_DSCP,xt_CLASSIFY,iptable_mangle,iptable_filter,ipt_ECN,ip_tables,xt_set
xfrm_algo              12288  7 esp6,ah6,esp4,ah4,xfrm_user,xfrm_ipcomp,af_key
xfrm_ipcomp            12288  2 ipcomp6,ipcomp
xfrm_user              32768  0
xfrm4_tunnel           12288  0
xfrm6_tunnel           12288  2 ip6_vti,ipcomp6
xt_CLASSIFY            12288  0
xt_DSCP                12288  0
xt_HL                  12288  0
xt_LOG                 12288  0
xt_TCPMSS              12288  0
xt_comment             12288  0
xt_dscp                12288  0
xt_ecn                 12288  0
xt_hl                  12288  0
xt_length              12288  0
xt_limit               12288  0
xt_mac                 12288  0
xt_mark                12288  0
xt_multiport           12288  0
xt_set                 12288  0
xt_statistic           12288  0
xt_tcpmss              12288  0
xt_tcpudp              12288  0
xt_time                12288  0
base-files - 1537-r23228-cd17d8df2a
bcp38 - 5-11
bind-check - 9.18.11-3
bind-ddns-confgen - 9.18.11-3
bind-dig - 9.18.11-3
bind-dnssec - 9.18.11-3
bind-host - 9.18.11-3
bind-libs - 9.18.11-3
bind-nslookup - 9.18.11-3
bind-rndc - 9.18.11-3
bind-tools - 9.18.11-3
busybox - 1.36.1-1
bzip2 - 1.0.8-1
ca-bundle - 20230311-1
ca-certificates - 20230311-1
cgi-io - 2022-08-10-901b0f04-21
curl - 8.2.0-1
dnsmasq-full - 2.89-4
dropbear - 2022.82-5
e2fsprogs - 1.47.0-2
firewall4 - 2023-03-23-04a06bd7-1
fstools - 2023-02-28-bfe882d5-1
fwtool - 2019-11-12-8f7fe925-1
getrandom - 2022-08-13-4c7b720b-2
hostapd-common - 2023-06-22-599d00be-1.2
intel-microcode - 20230512-1
iptables-mod-ipopt - 1.8.8-1
iptables-zz-legacy - 1.8.8-1
irqbalance - 1.9.2-2
jansson4 - 2.14-3
jshn - 2023-05-23-75a3b870-1
jsonfilter - 2018-02-04-c7e938d6-1
kernel - 5.15.118-1-a10643f89815074caee254e26c48ff18
kmod-amazon-ena - 5.15.118-1
kmod-button-hotplug - 5.15.118-3
kmod-crypto-acompress - 5.15.118-1
kmod-crypto-aead - 5.15.118-1
kmod-crypto-authenc - 5.15.118-1
kmod-crypto-cbc - 5.15.118-1
kmod-crypto-crc32c - 5.15.118-1
kmod-crypto-deflate - 5.15.118-1
kmod-crypto-des - 5.15.118-1
kmod-crypto-echainiv - 5.15.118-1
kmod-crypto-hash - 5.15.118-1
kmod-crypto-hmac - 5.15.118-1
kmod-crypto-manager - 5.15.118-1
kmod-crypto-md5 - 5.15.118-1
kmod-crypto-null - 5.15.118-1
kmod-crypto-sha1 - 5.15.118-1
kmod-fs-vfat - 5.15.118-1
kmod-ifb - 5.15.118-1
kmod-input-core - 5.15.118-1
kmod-ip-vti - 5.15.118-1
kmod-ip6-tunnel - 5.15.118-1
kmod-ip6-vti - 5.15.118-1
kmod-ipsec - 5.15.118-1
kmod-ipsec4 - 5.15.118-1
kmod-ipsec6 - 5.15.118-1
kmod-ipt-core - 5.15.118-1
kmod-ipt-ipopt - 5.15.118-1
kmod-ipt-ipset - 5.15.118-1
kmod-iptunnel - 5.15.118-1
kmod-iptunnel4 - 5.15.118-1
kmod-iptunnel6 - 5.15.118-1
kmod-lib-crc-ccitt - 5.15.118-1
kmod-lib-crc32c - 5.15.118-1
kmod-lib-zlib-deflate - 5.15.118-1
kmod-lib-zlib-inflate - 5.15.118-1
kmod-libphy - 5.15.118-1
kmod-mdio-devres - 5.15.118-1
kmod-mii - 5.15.118-1
kmod-nf-conntrack - 5.15.118-1
kmod-nf-conntrack-netlink - 5.15.118-1
kmod-nf-conntrack6 - 5.15.118-1
kmod-nf-flow - 5.15.118-1
kmod-nf-ipt - 5.15.118-1
kmod-nf-log - 5.15.118-1
kmod-nf-log6 - 5.15.118-1
kmod-nf-nat - 5.15.118-1
kmod-nf-reject - 5.15.118-1
kmod-nf-reject6 - 5.15.118-1
kmod-nfnetlink - 5.15.118-1
kmod-nft-core - 5.15.118-1
kmod-nft-fib - 5.15.118-1
kmod-nft-nat - 5.15.118-1
kmod-nft-offload - 5.15.118-1
kmod-nls-base - 5.15.118-1
kmod-nls-cp437 - 5.15.118-1
kmod-nls-iso8859-1 - 5.15.118-1
kmod-nls-utf8 - 5.15.118-1
kmod-phy-realtek - 5.15.118-1
kmod-ppp - 5.15.118-1
kmod-pppoe - 5.15.118-1
kmod-pppox - 5.15.118-1
kmod-r8169 - 5.15.118-1
kmod-sched-cake - 5.15.118-1
kmod-sched-core - 5.15.118-1
kmod-slhc - 5.15.118-1
libatomic1 - 12.3.0-4
libblkid1 - 2.39-2
libblobmsg-json20230523 - 2023-05-23-75a3b870-1
libbz2-1.0 - 1.0.8-1
libc - 1.2.4-4
libcap - 2.69-1
libcomerr0 - 1.47.0-2
libcurl4 - 8.2.0-1
libevent2-7 - 2.1.12-1
libext2fs2 - 1.47.0-2
libf2fs6 - 1.16.0-1
libgcc1 - 12.3.0-4
libgmp10 - 6.2.1-1
libip4tc2 - 1.8.8-1
libip6tc2 - 1.8.8-1
libiptext0 - 1.8.8-1
libiptext6-0 - 1.8.8-1
libiwinfo-data - 2023-05-17-c9f5c3f7-1
libiwinfo20230121 - 2023-05-17-c9f5c3f7-1
libjson-c5 - 0.16-3
libjson-script20230523 - 2023-05-23-75a3b870-1
liblua5.1.5 - 5.1.5-10
liblucihttp-lua - 2023-03-15-9b5b683f-1
liblucihttp-ucode - 2023-03-15-9b5b683f-1
liblucihttp0 - 2023-03-15-9b5b683f-1
liblzma - 5.4.2-1
libmbedtls12 - 2.28.3-1
libmnl0 - 1.0.5-1
libnetfilter-conntrack3 - 1.0.9-2
libnettle8 - 3.9-1
libnfnetlink0 - 1.0.2-1
libnftnl11 - 1.2.6-1
libnghttp2-14 - 1.51.0-1
libnl-tiny1 - 2023-07-27-bc92a280-1
libopenssl3 - 3.0.9-2
libpcre - 8.45-5
libpthread - 1.2.4-4
librt - 1.2.4-4
libsmartcols1 - 2.39-2
libss2 - 1.47.0-2
libubox20230523 - 2023-05-23-75a3b870-1
libubus-lua - 2022-06-15-9913aa61-1
libubus20220615 - 2022-06-15-9913aa61-1
libuci20130104 - 2023-03-05-04d0c46c-1
libuclient20201210 - 2023-04-13-007d9454-1
libucode20220812 - 2023-04-03-51638672-1
libustream-mbedtls20201210 - 2023-02-25-498f6e26-1
libuuid1 - 2.39-2
libuv1 - 1.45.0-1
libxtables12 - 1.8.8-1
lldpd - 1.0.17-1
logd - 2022-08-13-4c7b720b-2
lua - 5.1.5-10
luci - git-23.051.66410-a505bb1
luci-app-bcp38 - git-23.041.36324-a159d98
luci-app-firewall - git-23.208.40260-9504081
luci-app-opkg - git-23.009.82915-ec3aac4
luci-app-sqm - git-22.360.73151-127c900
luci-app-uhttpd - git-22.029.54222-e3fbfe9
luci-base - git-23.118.79121-6fb185f
luci-compat - git-22.297.83017-673f382
luci-lib-base - git-22.308.54612-9118452
luci-lib-ip - git-20.250.76529-62505bd
luci-lib-jsonc - git-22.079.54693-45f411b
luci-lib-nixio - git-22.222.71555-88b9088
luci-light - git-23.024.33244-34dee82
luci-lua-runtime - git-23.119.80867-2a9c3a3
luci-mod-admin-full - git-19.253.48496-3f93650
luci-mod-network - git-23.218.31344-f74f1cb
luci-mod-status - git-23.210.72323-b6dc2f2
luci-mod-system - git-23.118.78765-58f7b27
luci-proto-ipv6 - git-21.148.48881-79947af
luci-proto-ppp - git-21.158.38888-88b9d84
luci-ssl - git-23.035.26083-7550ad6
luci-theme-bootstrap - git-23.085.34270-d94a728
mkf2fs - 1.16.0-1
mtd - 26
netifd - 2023-06-04-ec9dba72-1
nftables-json - 1.0.8-1
odhcp6c - 2023-05-12-bcd28363-20
odhcpd-ipv6only - 2023-06-24-52112643-1
openwrt-keyring - 2022-03-25-62471e69-2
opkg - 2022-02-24-d038e5b6-2
partx-utils - 2.39-2
ppp - 2.4.9.git-2021-01-04-4
ppp-mod-pppoe - 2.4.9.git-2021-01-04-4
procd - 2023-01-16-190f13a7-1
procd-seccomp - 2023-01-16-190f13a7-1
procd-ujail - 2023-01-16-190f13a7-1
px5g-mbedtls - 9
r8169-firmware - 20230625-1
rpcd - 2023-03-14-d9788300-1
rpcd-mod-file - 2023-03-14-d9788300-1
rpcd-mod-iwinfo - 2023-03-14-d9788300-1
rpcd-mod-luci - 20230123-1
rpcd-mod-rrdns - 20170710
rpcd-mod-ucode - 2023-03-14-d9788300-1
sqm-scripts - 1.5.2-1
sudo - 1.9.13p3-1
tar - 1.34-2
tc-tiny - 6.3.0-1
ubox - 2022-08-13-4c7b720b-2
ubus - 2022-06-15-9913aa61-1
ubusd - 2022-06-15-9913aa61-1
uci - 2023-03-05-04d0c46c-1
uclient-fetch - 2023-04-13-007d9454-1
ucode - 2023-04-03-51638672-1
ucode-mod-fs - 2023-04-03-51638672-1
ucode-mod-html - 1
ucode-mod-lua - 1
ucode-mod-math - 2023-04-03-51638672-1
ucode-mod-ubus - 2023-04-03-51638672-1
ucode-mod-uci - 2023-04-03-51638672-1
uhttpd - 2023-06-25-34a8a74d-1
uhttpd-mod-ubus - 2023-06-25-34a8a74d-1
unzip - 6.0-8
urandom-seed - 3
urngd - 2020-01-21-c7f7b6b6-1
usign - 2020-05-23-f1f65026-1
wget-ssl - 1.21.3-2
wpad-openssl - 2023-06-22-599d00be-1.2
xtables-legacy - 1.8.8-1
xz - 5.4.2-1
xz-utils - 5.4.2-1
zlib - 1.2.13-1

Yes, delete the vti packages and restart the router. Afterwards they will be gone.

Okay. Thanks trendy.

1 Like