These are chat archives for Exa-Networks/exabgp

28th
Jun 2018
Justin
@JustinAzoff
Jun 28 2018 19:16
found a really interesting bug with api+v4+v6 peerings
seems next-hop self for a nlri injected via the api is ending up with the v4 local-address instead of the v6 one
looks like the
    def nexthops (self, peers):
            return dict((peer,self.peers[peer].neighbor.local_address) for peer in peers)
is intended to account for this, but not sure why it is not working
Justin
@JustinAzoff
Jun 28 2018 19:22
ah, narrowed it down, i thnk it's this:
                            if 'local-address' in scope[-1]:
                                    la = scope[-1]['local-address']
                            elif self._nexthopself:
                                    la = self._nexthopself
if the last neighbor in the group is a v6 neighbor, the v6 route is ok, but if it's a v4 peer, it uses that local-adress
so I think that code doesn't account for groups
This message was deleted
Justin
@JustinAzoff
Jun 28 2018 19:40
yeah, definitely found the problem, just not the cause
neighbor <v6 neighbor> local-ip <v6 ip> local-as 65145 peer-as <as> router-id <id> family-allowed in-open : <v6 route>/128 next-hop <ipv4 local-addr!!!> community [ 64512:666 no-export ]
Justin
@JustinAzoff
Jun 28 2018 19:57
will file bug later, it's a tricky thing to reproduce