I understand why we send next-hop-self from eBGP peers towards iBGP peers, but I do not understand why we set next-hop-self when peering with Backbone devices. Is this necessary?
For example, R2 is setting next-hop-self when peering with BB2 - why? I thought that no matter what the next-hop value is for a particular route that R2 has, BB2 will see all routes passed from R2 with R2 as next-hop. Correct?