Symptom
ASr9k sends IPCP Termination after PADT, which causes some CPEs to be confused and not to interpret PADT correctly. When same CPEs are connected to ASR1k, after PADT from ASR1k, CPE send immediately PADI to reconnect.
in ASR9k CPE will continue sending keepalives and after it retries max times it will disconnect.
According to RFC2516 : Even normal PPP termination packets MUST NOT be sent after sending or receiving a PADT
Conditions
All versions seems to be affected
Workaround
So far no workaround. after keepalive expires and retires max time CPE will disconnect and then resume normal operation.
Further Problem Description
To enable the solution (new sequence of session shutdown ) add the following commands as explained below. (Example snippets are from my Test configuration)
1. padt-after-shutdown : This command makes sure that PADT is sent only after ppp shutdown. This has to be enabled in the bba-group configuration
Example :
pppoe bba-group bba_1
service name service_1
padt-after-shutdown
!
2. ppp lcp send-term-request-on-shutdown : This command makes sure that an LCP Termination request is sent during PPP session shut down. This command must be enabled in the dynamic template.
Example:
dynamic-template type ppp PPP_PTA_TEMPLATE
ppp ipcp peer-address pool ADDRESS_POOL
ipv4 unnumbered Loopback0
Ppp ipcp passive
ppp lcp send-termreq-on-shutdown
!