7. Troubleshoot IPoE Sessions

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

On the CPE side, an IP address should be assigned to the WAN interface and it must be UP:

CPE3 running nat# show interface
Name        State          IP Addresses
----        -----          ------------
[....]
wan.100@wan UP             100.100.0.100/32
                                fe80::e1e:d4ff:fe12:1/64

On the BNG-IPoE side, we perform the following commands to inspect all IPoE active sessions:

bng-ipoe running config# show ipoe-server session vrf main
interface calling-sid       address       status uptime   server
========= ===========       =======       ====== ======   ======
ipoe.100  0c:1e:d4:12:00:01 100.100.0.100 active 00:48:23 109.254.1.2
ipoe.100  0c:4d:2b:3e:00:01 100.100.0.101 active 00:48:14 109.254.1.2
bng-ipoe running config# show state vrf main ipoe-server
ipoe-server
    enabled true
    log-level error
    dhcp-relay
        interface ipoe.100
            agent-information
                relay-address 169.254.1.1
                trusted-circuit false
                remote-id
                    global test123
                     ..
                link-selection 100.100.0.1
                 ..
            router 100.100.0.1
            ..
        offer-timeout 10
        server-timeout 3
        server-retransmit 3
        server 169.254.1.2
        ..
    ..

On the DHCP server side, we perform the following commands to inspect all active and expired IP addresses:

dhcp running config# show dhcp-server vrf main
IP Address    MAC Address       Lease Start         Lease End           State
==========    ===========       ===========         =========           =====
100.100.0.101 0c:4d:2b:3e:00:01 2024/06/13 18:24:17 2024/06/13 20:24:17 active
100.100.0.101 0c:4d:2b:3e:00:01 2024/06/13 17:37:22 2024/06/13 19:37:22 expired
100.100.0.101 0c:4d:2b:3e:00:01 2024/06/06 16:08:03 2024/06/06 18:08:03 expired
100.100.0.100 0c:1e:d4:12:00:01 2024/06/13 18:24:32 2024/06/13 20:24:32 active
100.100.0.100 0c:1e:d4:12:00:01 2024/06/13 17:37:14 2024/06/13 19:37:14 expired
100.100.0.100 0c:1e:d4:12:00:01 2024/06/11 15:24:07 2024/06/11 17:24:07 expired

Sessions details can be inspected with:

dhcp running config# show state vrf main dhcp server
server
    enabled true
    default-lease-time 43200
    max-lease-time 86400
    dhcp-options
        domain-name-server 169.254.1.1
        ..
    subnet 100.100.0.0/24
        interface bng
        default-gateway 100.100.0.1
        range 100.100.0.100 100.100.0.200
        state active
        ..
    dhcp-server-leases 100.100.0.101
        starts 2024-06-13T18:24:17Z
        ends 2024-06-13T20:24:17Z
        hw-mac-address 0c:4d:2b:3e:00:01
        binding-state active
        next-binding-state free
        option-agent-circuit-id "\"ipoe.100\""
        option-agent-remote-id "\"test123\""
        ..
    dhcp-server-leases 100.100.0.100
        starts 2024-06-13T18:24:32Z
        ends 2024-06-13T20:24:32Z
        hw-mac-address 0c:1e:d4:12:00:01
        binding-state active
        next-binding-state free
        option-agent-circuit-id "\"ipoe.100\""
        option-agent-remote-id "\"test123\""
        ..
    ..

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:

host3 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
host3 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:

host3> 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
host3> 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