Thanks for your response. So are you filtering out the transit and management subnets from ibgp after redistribute connected=yes? How is your radius creating the connected /32s for customers? You are using some tunnel? Or using radpool module in radius? And are all your tower routers pppoe NAS servers?
Hi Dave,
the backbone is composed by routers with Loopback IP, running OSPF.
OSPF networks include loopbacks and point-to-point links (/30) only.
OSPF does not redistribute anything (redistribute-* = no). Of course, the loopbacks and PtP /30 are part of backbone and you don't have to filter them (actually, you couldn't even filter).
Every backbone router has a BGP session with a Router Reflector (a CHR machine in my case), itself is part of the backbone and visible through loopback IP.
Every router announces via BGP the connected routes (/routing bgp instance ... redistribute-connected=yes).
Connected routes (in my case) are the management IPs for radio links, and the customers subnets (mostly /32).
Only on the Route Reflector I have some Input filters in order to not duplicate the backbone networks. The most importants are:
Do not accept transit links (/30 already present in OSPF)
Do not accept loopback IPs (/32 already present in OSPF)
My radius is RadiusManager (based on freeradius). It can choose a free IP from a public IP pool (we have several subnets).
Every BTS router authenticate the PPPoE local user by sending the request to remote radius. When radius replies OK, the router installs the new /32 route and announces it via BGP.
We don't use any tunnel because we have a decentralized PPPoE system (yes, every tower router is pppoe NAS server with remote radius accounting).
Of course, if one tower serves lot of customers, you will have to put a more powerful router. e.g. we use from RB450G to CCR1009.
I know that some people follow different phylosophy (VPLS tunnel to centralized PPPoE server). Both solutions have advantages and drawbacks. I'm happy with this one.
It's just plain IPv4 routing. Very easy to troubleshoot using traceroute.
Ciao,
Massimo