Thanks… The issue is that we will be forcibly disconnecting the first BNG from the Radius so we will lose acct-stop. We have a l2 tunnel that will then kick-in and the CPEs will appear on the second BNG. And yes, we have sqlippool running but one pool with one active radius server. The problem we have is that at the moment we have one connection between the BNGs and the Radius via aggregation to core routing (the BNGs and Radius are not co-located). Part of the plan is to put in a second connection. It is all horrible. So our plan is to fail one BNG, rehome 8,000 CPEs to the other BNG, upgrade the BNG (about 30 minutes work), allow CPEs to come back up on the new upgraded BNG and then repeat for the second BNG. It really is all horrible… David ________________________________ From: Bjørn Mork <bjorn@mork.no> Date: Friday, 6 November 2026 at 15:51 To: David Lake via Freeradius-Users <freeradius-users@lists.freeradius.org> Cc: Lake, David Dr (FEPS Faculty Admin) <d.lake@surrey.ac.uk> Subject: Re: Fast BNG failover and FreeRadius David Lake via Freeradius-Users <freeradius-users@lists.freeradius.org> writes:
Hello
I have 16,000 CPEs (PPPoE) connected across two BNGs - 8,000 homed on each.
The issue I have is that we only have 16,000 IP addresses, 8,000 on each BNG and one IP pool. I advertise /32 routes. I know this is not ideal but needs must. I have a total of 59 "spare" addresses and everything is in the same prefix.
My question is:
If I loose a BNG and the CPEs rehome to the other BNG, how can I be sure that the previous sessions are immediately cleared and the addresses previously on the first BNG become available on the second?
You don't say how you manage the pool, but if sqlippoll then this is what you have the accounting on/off queries for: https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FFreeRADIUS%2Ffreeradius-server%2Fblob%2Fv3.2.x%2Fraddb%2Fmods-config%2Fsql%2Fippool%2Fmysql%2Fqueries.conf%23L139&data=05%7C02%7Cd.lake%40surrey.ac.uk%7C96d8342857064c026a6d08df3c1dd377%7C6b902693107440aa9e21d89446a2ebb5%7C0%7C0%7C639295770951347564%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=lbFtCwXde3l8njod6K3X680%2FazhTBH5xFrQyP5I8BE0%3D&reserved=0<https://github.com/FreeRADIUS/freeradius-server/blob/v3.2.x/raddb/mods-config/sql/ippool/mysql/queries.conf#L139> Of course, if you actually mean "lose a BNG" and there is no accounting off request, then you lose too. Don't do that ;-) But it sounds like you have 59 addresses more than you have users? If so, then why not just allocate them statically and ignore which BNG "owns" a specific user session/address? Bjørn