Hi Brian,

But I still have not understood what state you consider an error and
where do you expect a warning?

On Wed, Apr 10, 2019 at 7:56 PM Brian Topping <brian.topp...@gmail.com> wrote:
>
> Hi Alexander,
>
> The “error” I had before was the lack of a warning. I think the usability of 
> BIRD would be improved if there was a warning for the state that I described.
>
> Thanks, Brian
>
> > On Apr 10, 2019, at 6:17 AM, Alexander Zubkov <gr...@qrator.net> wrote:
> >
> > Hi Brian,
> >
> > It is a bit more information, but it does not help fully still. You are 
> > saying:
> >
> >> With the patch, I use the configuration as shown and it peers as before, 
> >> but the RIB is properly formed:
> >
> > But I can not understand what error did you have before. If you showed
> > original bgp configuration, tcpdump and result of commands like "show
> > protocols all", "show route all" and pointed out what pieces you find
> > wrong, it would be helpful.
> > It also seems to me that in your first message you could mix up router
> > ids and neigbours' ips.
> >
> > On Sun, Apr 7, 2019 at 12:23 AM Brian Topping <brian.topp...@gmail.com> 
> > wrote:
> >>
> >>> On Apr 6, 2019, at 1:38 PM, Alexander Zubkov <gr...@qrator.net> wrote:
> >>>
> >>> Hi Brian,
> >>>
> >>> Can you give specific examples of what is happening? Configuration 
> >>> samples, show running route information from cli, etc.
> >>
> >> Hi Alexander, I can give it a shot here. Apologies for the previous direct 
> >> reply.
> >>
> >> These are the configs after application of the patch that I referenced 
> >> below.
> >>
> >> BIRD BGP:
> >>
> >>> router id UP.STREAM.143.113;
> >>>
> >>> protocol bgp bgp_metal_gw01 {
> >>>      local as ASLOCAL;
> >>>      neighbor 10.10.0.41 as ASN; # See description below
> >>>      passive yes;
> >>>      ipv4 {
> >>>              next hop self;
> >>>              import filter {
> >>>                      bgp_origin = ORIGIN_IGP;
> >>>                      dest = RTD_BLACKHOLE;
> >>>                      accept;
> >>>              };
> >>>              export none;
> >>>      };
> >>> }
> >>
> >> MetalLB:
> >>
> >>> apiVersion: v1
> >>> kind: ConfigMap
> >>> data:
> >>> config: |
> >>>   peers:
> >>>   - peer-address: UP.STREAM.143.113
> >>>     router-id: 10.10.0.41
> >>>     peer-asn: ASLOCAL
> >>>     my-asn: ASLOCAL
> >>
> >>
> >> Without the patch, the BIRD neighbor address is *also* UP.STREAM.143.113. 
> >> This is broken, but because MetalLB was using the primary interface that 
> >> was returned by Go standard library, I realized via tcpdump that BIRD 
> >> wasn’t allowing the connection without the neighbor address matching the 
> >> socket source address being used by MetalLB. At that point, the session 
> >> was established with no warnings or errors, but the behavior I described 
> >> previously was the result. Relevant trace from that previous configuration:
> >>
> >>>   UP.STREAM.143.125.bgp > UP.STREAM.143.113.40871: Flags [P.], cksum 
> >>> 0x5bf5 (correct), seq 87:150, ack 71, win 16384, options [nop,nop,TS val 
> >>> 1618696452 ecr 1215190272], length 63: BGP
> >>>   Keepalive Message (4), length: 19
> >>>   Update Message (2), length: 44
> >>>     Origin (1), length: 1, Flags [T]: IGP
> >>>       0x0000:  00
> >>>     AS Path (2), length: 6, Flags [T]: 30475
> >>>       0x0000:  0201 0000 770b
> >>>     Next Hop (3), length: 4, Flags [T]: UP.STREAM.143.125
> >>>       0x0000:  adf8 8f7d
> >>>     Updated routes:
> >>>       0.0.0.0/0
> >>> 00:02:53.744295 IP (tos 0xc0, ttl 1, id 38102, offset 0, flags [DF], 
> >>> proto TCP (6), length 210)
> >>>   UP.STREAM.143.113.40871 > UP.STREAM.143.125.bgp: Flags [P.], cksum 
> >>> 0x7ba4 (incorrect -> 0x443f), seq 71:229, ack 150, win 502, options 
> >>> [nop,nop,TS val 1215190314 ecr 1618696452], length 158: BGP
> >>>   Update Message (2), length: 84
> >>>     Origin (1), length: 1, Flags [T]: IGP
> >>>       0x0000:  00
> >>>     AS Path (2), length: 10, Flags [T]: ASLOCAL ASLOCAL
> >>>       0x0000:  0202 0000 2963 0000 2963
> >>>     Next Hop (3), length: 4, Flags [T]: UP.STREAM.143.113
> >>>       0x0000:  adf8 8f71
> >>>     Community (8), length: 4, Flags [OTP]:  NO_EXPORT
> >>>       0x0000:  ffff ff01
> >>>     Updated routes:
> >>>       ANN.CIDR.96.10/32
> >>>       ANN.CIDR.96.11/32
> >>>       ANN.CIDR.96.8/32
> >>>       ANN.CIDR.96.9/32
> >>>       ANN.CIDR.96.0/32
> >>>       ANN.CIDR.97.1/32
> >>>   Update Message (2), length: 51
> >>>     Origin (1), length: 1, Flags [T]: IGP
> >>>       0x0000:  00
> >>>     AS Path (2), length: 6, Flags [T]: ASLOCAL
> >>>       0x0000:  0201 0000 2963
> >>>     Next Hop (3), length: 4, Flags [T]: UP.STREAM.143.113
> >>>       0x0000:  adf8 8f71
> >>>     Updated routes:
> >>>       ANN.CIDR.96.0/24
> >>>       ANN.CIDR.97.0/24
> >>>   Update Message (2), length: 23
> >>>     End-of-Rib Marker (empty NLRI)
> >>
> >> With the patch, I use the configuration as shown and it peers as before, 
> >> but the RIB is properly formed:
> >>
> >>> [root@gw01 ~]# birdc show route
> >>> BIRD 2.0.2 ready.
> >>> Table master4:
> >>> 0.0.0.0/0            unicast [bgp_handy_125 21:22:05.177] * (100) 
> >>> [ASUPSTREAMi]
> >>>      via UP.STREAM.143.125 on eno1
> >>>                    unicast [bgp_handy_126 21:22:04.771] (100) 
> >>> [ASUPSTREAMi]
> >>>      via UP.STREAM.143.126 on eno1
> >>> ANN.CIDR.96.10/32     blackhole [bgp_metal_gw01 16:01:32.784 from 
> >>> 10.10.0.41] * (100) [i]
> >>> 10.9.255.0/24        unicast [backbone 21:22:00.909] * I (150/10) 
> >>> [UP.STREAM.143.113]
> >>>      dev vti19
> >>> ANN.CIDR.96.11/32     blackhole [bgp_metal_gw01 16:01:32.784 from 
> >>> 10.10.0.41] * (100) [i]
> >>> ANN.CIDR.96.8/32      blackhole [bgp_metal_gw01 16:01:32.784 from 
> >>> 10.10.0.41] * (100) [i]
> >>> ANN.CIDR.96.9/32      blackhole [bgp_metal_gw01 16:01:32.784 from 
> >>> 10.10.0.41] * (100) [i]
> >>> ANN.CIDR.96.0/24      blackhole [public_nets_proto 21:22:00.809] * (500)
> >>> ANN.CIDR.97.0/24      blackhole [public_nets_proto 21:22:00.809] * (500)
> >>> ANN.CIDR.96.0/32      blackhole [bgp_metal_gw01 16:01:32.784 from 
> >>> 10.10.0.41] * (100) [i]
> >>> ANN.CIDR.97.1/32      blackhole [bgp_metal_gw01 16:01:32.784 from 
> >>> 10.10.0.41] * (100) [i]
> >>> 10.10.0.0/22         unicast [backbone 21:22:00.909] * I (150/10) 
> >>> [UP.STREAM.143.113]
> >>>      dev eno2
> >>
> >>
> >> Does that help?
> >>
> >>
>

Reply via email to