-
Notifications
You must be signed in to change notification settings - Fork 460
Description
I've configured an interop between Juniper (Junos 20.2R3-S2.5) and ExaBGP (Ubuntu 22.04 (ExaBGP : 4.2.17; Python : 3.10.12))
R1 <- bgp flowspec-> ExaBGP
ExaBGP has a configuration:
neighbor 10.10.10.2 {
# Basic identification
router-id 10.10.10.3;
local-address 10.10.10.3;
local-as 2020;
peer-as 2020;
# Announce a static route
static {
route 100.10.0.0/24 next-hop self;
}
}
Juniper has a configuraion:
@R1# run show configuration protocols bgp group FLOWPUSHER
Dec 23 21:05:27
traceoptions {
file FLOWSPEC size 2m files 2 world-readable;
flag update detail;
}
local-address 10.10.10.2;
peer-as 2020;
neighbor 10.10.10.3 {
family inet {
unicast;
flow {
no-validate NO-VALIDATE;
}
}
}
My test is easy, like a piece of cake.
I've generated 2 flowspec' routes:
exabgpcli 'neighbor 10.10.10.2 announce flow route destination-ipv4 90.100.110.120/32 protocol =udp destination-port [ <53 >53&<443 >443&<500 >500&<3391 >3391&<4433 >4433&<4500 >4500&<5101 >5101&<5106 ] rate-limit 0'
I did't have an impact
R1# run show route table inetflow.0
Dec 24 05:32:33
inetflow.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
90.100.110.120,*,proto=17,dstport>=0&<=52,>=54&<=442,>=444&<=499,>=501&<=3390,>=3392&<=4432,>=4434&<=4499,>=4501&<=5100,>=5102&<=5105/term:1
*[BGP/170] 00:00:58, localpref 100, from 10.10.10.3
AS path: I, validation-state: unverified
Fictitious
Dec 24 05:37:59.024445 BGP RECV 10.10.10.3+38255 -> 10.10.10.2+179
Dec 24 05:37:59.024483 BGP RECV message type 2 (Update) length 110
Dec 24 05:37:59.024492 BGP RECV Update PDU length 110
Dec 24 05:37:59.024501 BGP RECV flags 0x40 code Origin(1): IGP
Dec 24 05:37:59.024539 BGP RECV flags 0x40 code ASPath(2) length 0:
Dec 24 05:37:59.024549 BGP RECV flags 0x40 code LocalPref(5): 100
Dec 24 05:37:59.024562 BGP RECV flags 0xc0 code Extended Communities(16): 8006:0:0
Dec 24 05:37:59.024572 BGP RECV flags 0x80 code MP_reach(14): AFI/SAFI 1/133
Dec 24 05:37:59.024605 BGP RECV 90.100.110.120,*,proto=17,dstport>=0&<=52,>=54&<=442,>=444&<=499,>=501&<=3390,>=3392&<=4432,>=4434&<=4499,>=4501&<=5100,>=5102&<=5105/440
Dec 24 05:37:59.024643 bgp_rcv_nlri: Peer 10.10.10.3 (Internal AS 2020)
So, It looks OK, after that I am going to the next step. I've configured the second rule:
exabgpcli 'neighbor 10.10.10.2 announce flow route destination-ipv4 90.100.110.130/32 protocol =udp destination-port [ <53 >53&<443 >443&<500 >500&<3391 >3391&<4433 >4433&<4500 >4500&<5101 >5101&<5106 >5106&<5107 >5107 ] rate-limit 0'
After that BGP session on the peer was restarted:
Dec 24 05:37:59.024722 BGP RECV 10.10.10.3+38255 -> 10.10.10.2+179 Dec 24 05:37:59.024737 BGP RECV message type 2 (Update) length 119 Dec 24 05:37:59.024745 BGP RECV Update PDU length 119 Dec 24 05:37:59.024753 BGP RECV flags 0x40 code Origin(1): IGP Dec 24 05:37:59.024763 BGP RECV flags 0x40 code ASPath(2) length 0: Dec 24 05:37:59.024771 BGP RECV flags 0x40 code LocalPref(5): 100 Dec 24 05:37:59.024781 BGP RECV flags 0xc0 code Extended Communities(16): 8006:0:0 Dec 24 05:37:59.024791 BGP RECV flags 0x80 code MP_reach(14): AFI/SAFI 1/133 Dec 24 05:37:59.024873 BGP RECV zero-len/0 Dec 24 05:37:59.024906 bgp_rcv_nlri: Peer 10.10.10.3 (Internal AS 2020) Dec 24 05:37:59.024935 bgp_rcv_nlri: zero-len/0 Dec 24 05:37:59.024973 bgp_rcv_nlri:11061: NOTIFICATION sent to 10.10.10.3 (Internal AS 2020): code 3 (Update Message Error) subcode 10 (bad address/prefix field), Reason: peer 10.10.10.3 (Internal AS 2020) update included invalid route zero-len/0 (0 of 63) Dec 24 05:37:59.024985 BGP_209030.10.10.10.3: send proc: send via threaded I/O Dec 24 05:37:59.024993 sending 21 bytes Dec 24 05:37:59.025007 Dec 24 05:37:59.025007 BGP SEND 10.10.10.2+179 -> 10.10.10.3+38255 Dec 24 05:37:59.025019 BGP SEND message type 3 (Notification) length 21 Dec 24 05:37:59.025028 BGP SEND Notification code 3 (Update Message Error) subcode 10 (bad address/prefix field) Dec 24 05:37:59.025070 wrote 21 bytes to I/O queue Dec 24 05:37:59.025080 finished number of messages 1, write qidx 0 rc 1 Dec 24 05:37:59.025101 Dec 24 05:37:59.025101 BGP RECV 10.10.10.3+38255 -> 10.10.10.2+179 Dec 24 05:37:59.025125 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 77 02 00 00 Dec 24 05:37:59.025144 00 60 40 01 01 00 40 02 00 40 05 04 00 00 00 64 c0 10 08 80 Dec 24 05:37:59.025163 06 00 00 00 00 00 00 80 0e 44 00 01 85 00 00 3e 01 20 5a 64 Dec 24 05:37:59.025182 6e 82 03 81 11 05 04 35 02 35 54 01 bb 12 01 bb 54 01 f4 12 Dec 24 05:37:59.025200 01 f4 54 0d 3f 12 0d 3f 54 11 51 12 11 51 54 11 94 12 11 94 Dec 24 05:37:59.025218 54 13 ed 12 13 ed 54 13 f2 12 13 f2 54 13 f3 92 13 f3 Dec 24 05:37:59.025236 bgp_send_deactivate:2920: 10.10.10.3 (Internal AS 2020) ,flags=0x10000: removed from active list
I don't have any ideas, the behavior is unexpected for me.
Do you have any ideas?