BGP session establishes, but I make a change to a filter and want to resend out an update to my peer.. I hit resend and apparently the connection to the peer says
“–SESSION IS STOPPED”
the only way to get it to re-establish is go to sessions and hit “Clear” button and choose a flag of “stopped”.. This is terrible as it doesn’t auto reconnect.. How we can get this to auto-reconnect the session? or is this by design?
You make a great point.. This is basically a bog standard BGP test setup.. nothing else fancy added.. just verifying BGP works like v6.. except I can’t use v6 because it’s a CCR2216.. It’s become apparent that there are some things still lacking, but I’m just trying to understand why whenever I force the session to resend or refresh routes it tears the connection down and never comes back.
# oct/07/2022 09:44:23 by RouterOS 7.6rc1
# software id = B69M-MGXU
#
# model = CCR2216-1G-12XS-2XQ
# serial number = HCB0884V4KY
/interface ethernet
set [ find default-name=sfp28-1 ] auto-negotiation=no name=sfp28-1-lumen speed=10Gbps
set [ find default-name=sfp28-9 ] name=sfp28-9-test-tibit-wan
set [ find default-name=sfp28-12 ] name=sfp28-12-test-pc
/interface ethernet switch
set 0 l3-hw-offloading=yes
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/routing bgp template
set default as=xxx020 disabled=no routing-table=main
/interface ethernet switch l3hw-settings
set ipv6-hw=yes
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/interface ovpn-server server
set auth=sha1,md5
/ip address
add address=x.x.x.179/29 interface=sfp28-1-lumen network=x.x.x.176
add address=x.x.x.1/24 interface=sfp28-12-test-pc network=x.x.x.0
/ip dhcp-client
add add-default-route=no interface=ether1
/ip dns
set servers=8.8.8.8,8.8.4.4
/ip firewall address-list
add address=x.x.x.0/24 list=bgp-out-networks
add address=0.0.0.0/0 list=bgp-in-networks
/ip route
add disabled=no dst-address=10.0.0.0/8 gateway=10.20.21.1 routing-table=main \
suppress-hw-offload=no
/ipv6 route
add comment="Lumen IPv6 Gateway" disabled=no distance=1 dst-address=::/0 gateway=\
x:x:x:x::1d69 routing-table=main scope=30 target-scope=10
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh address=10.0.0.0/8 disabled=yes
set api disabled=yes
set winbox address=10.0.0.0/8
set api-ssl disabled=yes
/ipv6 address
add address=x:x:x:x::1d6b/126 advertise=no interface=sfp28-1-lumen
/ipv6 firewall address-list
add list=bgp-in-networks-ipv6
add disabled=yes list=bgp-out-networks-ipv6
/routing bgp connection
add address-families=ip as=xxx020 connect=yes disabled=no hold-time=1m30s \
input.accept-nlri=bgp-in-networks .filter=lumen-in keepalive-time=30s listen=yes \
local.role=ebgp name=bgp-lumen output.default-prepend=0 .filter-chain=lumen-out \
.network=bgp-out-networks remote.address=x.x.x.177/32 .as=3356 router-id=x.x.x.179 \
routing-table=main
add address-families=ipv6 as=xxx020 connect=yes disabled=no hold-time=1m30s \
input.accept-nlri=bgp-in-networks-ipv6 .filter=lumen-in-ipv6 keepalive-time=30s listen=\
yes local.role=ebgp name=bgp-lumen-ipv6 output.default-prepend=0 .filter-chain=\
lumen-out-ipv6 remote.address=x:x:x:x::1d69/128 .as=3356 router-id=\
x.x.x.179 routing-table=main
/routing filter rule
add chain=lumen-in disabled=no rule=\
"if (afi ipv4 && dst==0.0.0.0/0) {accept} else {reject}"
add chain=lumen-out disabled=no rule=\
"if (afi ipv4 && dst in x.x.x.0/24) {set bgp-out-med 0;accept}"
add chain=lumen-in-ipv6 disabled=no rule=\
"if (afi ipv6 && dst==::/0) {accept} else {reject}"
add chain=lumen-out-ipv6 disabled=no rule="if (afi ipv6 && dst in ::/0) {reject}"
/system clock
set time-zone-name=America/New_York
/system identity
set name=HCN/Core/CCR2216
/system ntp client
set enabled=yes
/system ntp client servers
add address=pool.ntp.org
/system package update
set channel=testing
For now, how we resend or refresh? Just disabling and re-enabling session?
Just changing some filter will send update/withdraw messages or process again the routes to apply community or filter?
You can “UnStop” the session by clicking the “Clear” button and then select “stopped” from the list of options.
This “clears” the “stopped” state, i.e. it restarts the session.
This is all extremely counter-intuitive. As there is a “Stop” button, I suggest there also should be a “Start” button that does the above with a single click.
Sometimes nothing else but removing and adding the BGP connection will work. It is unbelievable and completely unacceptable that such bugs are still present in version 7.6 !!
Also “Prefix Count” always showing as 0 in the Session display, and the inability to discard prefixes in incoming filters (instead of just rejecting them which makes them stay around wasting memory) are in the same category of totally unacceptable bugs remaining in production software..
Maybe Elon Musk should buy Mikrotik, fire half the staff, prohibit remote work, ask that employees commit to a “hardcore” culture and they will become productive again ?
and the inability to discard prefixes in incoming filters (instead of just rejecting them which makes them stay around wasting memory) are in the same category of totally unacceptable bugs remaining in production software..
We got same problem when I update from 7.something to 7.6, but then after reboot it worked again (It has already reboot to update routerboard fw, but was needed an aditional reboot when the issue was discovered).
HW: CCR2004-1G-12S+2XS
When I try to dump-saved-advertisements , bgp session go in stopped state and I don’t see any pcap under “/routing/stats/pcap” menu !?
Is this issue is mark as fixed in 7.7beta3 ( *) bgp - improved BGP advertisement printing;) ?
Also winbox 3.37 don’t refresh BGP window if action is applied, for example after "session clear → stopped "