Sorry for the cross posting. Just wanted to update there. But I'm not sure it's an issue with freebsd or bird there. I think Freebsd behaves normally there.
Why the loopback address can't be used as the next hop there if a route exists? ------- Original Message ------- On Friday, June 16th, 2023 at 12:23, Benoit Chesneau <beno...@enki-multimedia.eu> wrote: > After doing more testing onf Freebsd 13.2 , bird 2.13: > > When 1.1.1.1/31 and 1.1.1.2/31 are set on the vlan interface, bird correctly > announce them as the next hop. > > However when 1.1.1.1/32 and 1.1.1.2/32 are set on the loopback interface of > each instances then the local ip address of the vlan is used. > > However when 1.1.1.1/31 and 1.1.1.2/31 are set on the loopback interface of > each instances then nothing happen. On each nodes 1.1.1.1/31 and 1.1.1.2/31 > resolve to the loopback interface instead of the remote node. > > > Is the behaviour expected ? > > > Benoît > ------- Original Message ------- > On Friday, June 16th, 2023 at 09:49, Benoit Chesneau > beno...@enki-multimedia.eu wrote: > > > > > I first posted this issue on the freebsd ml but it's probably more an issue > > to post there. > > > > I have the loopbacks `1.1.1.1` and `1.1.1.2` of 2 nodes distributed using > > OSPF: > > `filter ospfexport { if (source = RTS_DEVICE) then accept; reject; } > > protocol ospf v2 { tick 2; ipv4 { import all; export filter ospfexport; }; > > area 0 { stub no; interface "vlan1", "vlan2" { type ptp; cost 5; }; > > interface "lo1" { stub; }; }; }` > > > > `1.1.1.1` is set on the loopback: > > > > ```# ifconfig lo1lo1: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 > > mtu 16384 > > > > options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> > > > > inet6 ::1 prefixlen 128 > > inet6 fe80::1%lo1 prefixlen 64 scopeid 0x9 > > inet 1.1.1.1 netmask 0xffffffff > > groups: lo > > nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> > > > > # birdc show route for 1.1.1.1BIRD 2.13 ready. > > Table master4: > > 1.1.1.1/32 unicast [ospf1 15:56:43.054] ! I (150/0) [1.1.1.1] > > dev lo1 > > `The distribution works OK and I can ping each others:` > > # route -n get 1.1.1.2 route to: 1.1.1.2 > > destination: 1.1.1.2 > > gateway: 10.3.1.1 > > fib: 0 > > interface: vlan2212 > > flags: <UP,GATEWAY,HOST,DONE,PROTO1> > > > > recvpipe sendpipe ssthresh rtt,msec mtu weight expire > > 0 0 0 0 9000 1 0 > > `But the IP of the loopback can't be used as BGP next hop in the following > > configuration:` protocol bgp rr_par_ipv4 { local 1.1.1.1 as 65001; > > neighbor 1.1.1.1.2 as 65001; > > default bgp_local_pref 40; > > rr client; > > ipv4 { > > import all; > > export all; > > next hop self; > > }; > > }; > > ``The source IP used as next hop is not 1.1.1.1 but the IP `10.3.1.2` of > > vlan1 used for the connection between 2 nodes:`` > > # ifconfig vlan1vlan2212: > > flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000 > > > > options=680703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> > > > > ether 50:65:f3:8b:98:71 > > inet 10.3.1.2 netmask 0xffffff00 broadcast 10.3.1.255 > > inet6 fe80::5265:f3ff:fe8b:9871%vlan2212 prefixlen 64 scopeid 0xd > > groups: vlan > > vlan: 20 vlanproto: 802.1q vlanpcp: 0 parent interface: mlxen0 > > media: Ethernet autoselect (40Gbase-CR4 <full-duplex,rxpause,txpause>) > > > > status: active > > nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> > > > > ``**Even if I force the next hop address (using `next hop address`) it > > still take the IP of the vlan. What's wrong?***`` > > $ bird --versionBIRD version 2.13 > > $ uname -nmr > > myhostname 13.2-RELEASE amd64 > > ``` > > > > Benoît