FortiGate
FortiGate Next Generation Firewall utilizes purpose-built security processors and threat intelligence security services from FortiGuard labs to deliver top-rated protection and high performance, including encrypted traffic.
ssanga
Staff & Editor
Staff & Editor
Article Id 359249
Description This article describes a workaround and a solution for an issue where connected or static routes for PPPOE interfaces are intermittently removed from the routing table.
Scope FortiGate v7.2.8.
Solution

Intermittently, connected or static routes for PPPOE interfaces are removed from the routing table. A manual reboot of the FortiGate device restores the routes.

 

The issue occurs when PPPoE is configured on the physical interface but not on the pppoe-interface.

The new PPPD daemon, responsible for initiating the PPPOE connection, gets stuck in a 'D' (disk sleep) state. This can be verified by checking the process state as shown below.

Sample configuration:


config system interface
    edit "port1"
        set vdom "root"
        set mode pppoe
        set allowaccess ping
        set type physical
        set username <>
        set password <>
    next
end

diagnose sys process pidof pppd
4005
diagnose sys process dump 4005
Status:
Name: pppd
Umask: 0022
State: D (disk sleep)
Tgid: 4005

Errors observed on the console around the time of the issue:

unregister_netdevice: waiting for ppp2 to become free. Usage count = 2
bring up pppoes physical interface parent on the server (eth3)
bring up pppoes physical interface parent on the server (eth3)
bring up pppoes physical interface parent on the server (eth3)
bring up pppoes physical interface parent on the server (eth3)
unregister_netdevice: waiting for ppp2 to become free. Usage count = 2


This issue has been resolved in v7.6.0, v7.4.8, v7.2.12.

Workarounds:

  • Reboot the FortiGate.

Or:

Logs required by FortiGate TAC for investigation:

 

  1. Debugs:


diagnose debug reset
diagnose debug app pppoed -1
diagnose debug app ppp -1
diagnose debug console timestamp enable
diagnose debug enable
diagnose netlink interface list
fnsysctl ifconfig
fnsysctl cat /proc/net/pppoe
diagnose sys process pidof pppd
diagnose sys process dump <Process ID of ppd> <----- Multiple times.
diagnose sys process pstack <Process ID of ppd> <----- Multiple times
diagnose sys process trace <Process ID of ppd> <----- Multiple times

  1. Sniffers:


diagnose sniffer packet <interface> "" 6 0 l

  1. TAC Report:


execute tac report

  1. Configuration file of the FortiGate.
  2. Console Logs.