4. Troubleshoot PPPoE Sessions

In order to verify the PPPoE interfaces are up and active, perform the following:

On the CPE side:

CPE1 running nat# show interface
[....]
pppoe-wan UNKNOWN        100.64.10.1
                                peer
                                100.64.0.1/32
                                fe80::a00:20ff:fe99:a998
                                peer
                                fe80::100:0:0:0/128

On the BNG-PPPoE side:

Note: Prior 3.9.x a "show ppp-server-stats instance <instance_name> vrf <vrf_name>" is required to view similar outputs.

 bng-pppoe running vrf main# show ppp-server statistics instance pppoe-server vrf main
 Sessions counters
  active    : 2
  starting  : 0
  finishing : 0

 PPPoE counters
  active        : 2
  starting      : 0
  PADI received : 162
  PADI dropped  : 0
  PADO sent     : 162
  PADR received : 162
  PADS sent     : 162

 Radius counters
  Radius server 1
   IP address               : 172.20.1.10
   state                    : active
   auth sent                : 19
   acct-start-stop sent     : 2
   acct-interim-update sent : 636

Another method to verify that the PPPoE sessions are active, is to perform a show state on the BNG-PPPoE router. This would also provide some details about the established PPPoE sessions. You can use the following CLI command:

bng-pppoe running config# show state vrf main ppp-server instance pppoe-server
instance pppoe-server
 enabled true
 single-session disable
 max-sessions 0
 max-starting 0
 log-level debug
 ppp
     verbose true
     min-mtu 100
     ipcp allow
     ipv6cp allow
     lcp
         echo-interval 3
         echo-failure 3
         ..
     ..
 pppoe
     enabled true
     verbose true
     padi-limit 0
     interface access.10
         padi-limit 5
         ..
     interface xyz
         padi-limit 0
         ..
     ..
 auth
     enabled true
     timeout 5
     max-failure 3
     peer-auth-interval 0
     peer-auth-mode pap
     peer-auth-mode chap
     peer-auth-mode mschap
     peer-auth-mode mschap-v2
     peer-secrets
         enabled false
         ..
     radius
         enabled true
         server address 172.20.1.10 auth-port 1812 acct-port 1813 secret 5ecret123
         default-local-ip 100.64.0.1
         change-of-authorization-server
             ip-address 0.0.0.0
             port 3799
             secret 5ecret123
             ..
         nas
             ip-address 172.20.1.254
             identifier 172.20.1.254
             ..
         accounting
             interim-interval 2
             session-id-in-authentication true
             allow-unreachable enabled false max-retry 3 timeout 60
             ..
         ..
     ..
 session-state ppp0
     username cpe1
     peer-ip 100.64.10.1
     type pppoe
     state active
     uptime 01:59:23
     rx-bytes 486
     tx-bytes 3122
     ..
 session-state ppp1
     username cpe2
     peer-ip 100.64.10.2
     type pppoe
     state active
     uptime 01:59:21
     rx-bytes 486
     tx-bytes 3086
     ..
 ..

In order to verify the eBGP adjacencies are up and active between the BNG-PPPoE and internet routers, perform the following:

bng-pppoe running config# show bgp summary

IPv4 Unicast Summary (VRF default):
BGP router identifier 1.1.1.1, local AS number 65222 vrf-id 0
BGP table version 2
RIB entries 2, using 368 bytes of memory
Peers 1, using 88 KiB of memory

Neighbor        V         AS    LocalAS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
109.254.1.2     4      65123     65222        12        13        0    0    0 00:08:26            0        2 N/A

Total number of neighbors 1

IPv6 Unicast Summary (VRF default):
BGP router identifier 1.1.1.1, local AS number 65222 vrf-id 0
BGP table version 4
RIB entries 7, using 1288 bytes of memory
Peers 1, using 88 KiB of memory

Neighbor        V         AS    LocalAS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
2001:db8::2     4      65123     65222        12        15        0    0    0 00:08:26            0        4 N/A

Total number of neighbors 1
bng-pppoe running config# show bgp ipv4 unicast
BGP table version is 2, local router ID is 1.1.1.1, vrf id 0
Default local pref 100, local AS 65222
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

   Network          Next Hop            Metric LocPrf Weight Path
*> 0.0.0.0/0        109.254.1.2              0         32768 ?
*> 20.5.0.0/30      0.0.0.0                  0         32768 ?

Displayed  2 routes and 2 total paths

BNG running config# show bgp ipv6 unicast
BGP table version is 4, local router ID is 1.1.1.1, vrf id 0
Default local pref 100, local AS 65222
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

   Network          Next Hop            Metric LocPrf Weight Path
*> 1::1/128         ::                       0         32768 ?
*> 2000:0:0:106::/64
                    ::                       0         32768 ?
*> 2000:0:0:107::/64
                    ::                       0         32768 ?
*> 2001:db8::/64    ::                       0         32768 ?

Displayed  4 routes and 4 total paths

Finally a ping from the end host towards the internet defined addresses would allow you to validate end to end connectivity:

host1 running config# cmd ping bng.com count 4
PING bng.com (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=63 time=1.41 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=63 time=1.62 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=63 time=1.35 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=63 time=1.53 ms

--- bng.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 1.345/1.475/1.623/0.107 ms
host1 running config# cmd ping bngv6.com ipv6 count 4
PING bngv6.com(8888::8888) 56 data bytes
64 bytes from 8888::8888: icmp_seq=1 ttl=63 time=1.05 ms
64 bytes from 8888::8888: icmp_seq=2 ttl=63 time=1.51 ms
64 bytes from 8888::8888: icmp_seq=3 ttl=63 time=1.30 ms
64 bytes from 8888::8888: icmp_seq=4 ttl=63 time=1.66 ms

--- bngv6.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 1.048/1.379/1.661/0.230 ms

Last but not least, let’s perform a traceroute and verify the path:

host1> cmd traceroute bng.com
traceroute to bng.com (8.8.8.8), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  0.526 ms  0.431 ms  0.381 ms
 2  100.64.0.1 (100.64.0.1)  1.419 ms  1.373 ms  1.321 ms
 3  8.8.8.8 (8.8.8.8)  1.343 ms  1.317 ms  1.275 ms
host1> cmd traceroute bngv6.com
traceroute to bngv6.com (8888::8888), 30 hops max, 80 byte packets
 1  2000:0:0:106::1 (2000:0:0:106::1)  0.853 ms  0.804 ms  0.775 ms
 2  2000:0:0:106:100:: (2000:0:0:106:100::)  1.208 ms  1.176 ms  1.149 ms
 3  8888::8888 (8888::8888)  1.207 ms  1.176 ms  1.168 ms