I hate this kind of comment. We use BFD on a single hop only, it seems a trivial protocol to implement.Hopefully it supports multi-hop BFD and outbound interface selection as well. That's such a great feature on a few other platforms as a way to check if MY service is availabe on a specific connection. Handles situations where a link is partially up, ie link to ISP good but ISP suffering some connectivity issue.
https://www.rfc-editor.org/rfc/rfc5880i think pe1chl is exactly right here.
a BFD implementation in general should be deployed between 2 direct peers to monitor that particular link
overall, i don't see a practical use-case for a multihop BFD?
Practicaly it speeds up detection of lost paths when using multi hop BGP, but can be used also for static routes.BFD can provide failure detection on any kind of path between
systems, including direct physical links, virtual circuits, tunnels,
MPLS Label Switched Paths (LSPs), multihop routed paths [...]
Yes, I think the top priority now is to implement the single-hop echo mode that was also supported in v6.I also think: there are much more important things still missing from ROS than multihop BFD.
I can only imagine, there might be some issues with strict timing requirements, but otherwise, it must be quite easy to implement, compared to other protocols.I think a BFD implementation with that functionality can be coded "in a friday afternoon" and I cannot understand why it is a "work in progress" for well over a year now.
Here in the table ou can see that the line on BFD support is not colored red for v7.7, like for 7.6. I´m not sure if that means anything.
I am whining about BFD ever since v7 was released. The best that I got was the remark that "BFD is a work in progress". But that was in september 2021 !!!Yes, that is true...but as I sit here with new (V7 ONLY) hardware waiting to go into service, I figured my "+1" couldn't hurt!
one obstacle might be the implementation in the correct "plane" in rOS7 devices...
I am whining about BFD ever since v7 was released. The best that I got was the remark that "BFD is a work in progress". But that was in september 2021 !!!
That remark was repeated even in this topic. Every time I ask about it, I get the same response, or people get annoyed.
My idea about "a work in progress" is an activity that has been assigned to someone, who actually performs work on it, say at least a day a week, and makes progress towards the final goal. But it is beyond my belief that BFD requires a year and a half of such work to complete.
So for me, it is "a work" but not "in progress".
A ===== B ===== C
\===============/
This is what OLSR is for. Mikrotik can make a fork of it and implement some sensors. We had this routing-protocol running on Ubiquiti Hardware with sensors for AirMax-Quality and AirMax-Capacity. OLSR made smart decisions how to route the traffic. Sometimes the routing was asymmetric, because upload was way better then download because of wireless link RF interference.As Wireless is a core business of MikroTik, I would have expected something like this to be added years ago. But it never happened.
There is not much to discuss w.r.t. the topic. v7 has no BFD, we all know that. It is claimed to be "a work in progress" for over 1.5 year now, but nothing is happening.
What we discuss here (and in other topics) apparently has no influence at all, it keeps getting delayed.
I requested a lot time ago an option for OSPF to increase costs by X instead of downing a link. Partly because I wanted to have a link detect issues but not actually fail. ie, there's a little packet loss so I want it to become a last-resort route.lest we not forget - BFD is not a "just click this button to activate, set'n'forget" protocol! a lot is dependant atop of it and it has to run very consistently!
mikrotik hopefully will get to us soon with some good news I hope...
...or at least help them TEST that thing and provide feedback for that!...Release the d*mn thing so that we can have link failure detection again!
okay. no cannot see any signatures (also i cannot change mine as i noticed last week)No, from the Netherlands. You can see my username, right?
Mikrotik has not made BFD or routing protocols in general a priority in v7; as far as I or anyone else can tell, the priority is nice-to-have features like containers, and otherwise as long as the routing stack is functional enough to run a basic lab network Mikrotik is satisfied. Why make excuses for Mikrotik and their failures with v7? BFD is not nearly as hard to implement as OSPF or BGP, both of which Mikrotik reimplemented in v7, and Mikrotik implemented BFD in v6. Clearly Mikrotik's developers are capable of doing the work, but someone decided that actually meeting their users' needs is not worth the time.
i hope mikrotik is doing some serious testing for these 1.5+ years now and we get a real good (new?) solution/implementation on BFD in v7 which will work solid again.
lest we not forget - BFD is not a "just click this button to activate, set'n'forget" protocol! a lot is dependant atop of it and it has to run very consistently!
mikrotik hopefully will get to us soon with some good news I hope...
...a big customer that does not need a reliable and more complete BGP implementation? That would be pretty surprising to me, though perhaps I should not make any assumptions.frankly, we don't know who is directing their priorities. Could be a big customer they are trying to appease. Rather than shit on them for not having the same priorities as us, we just need to tell them how important and widesprad the need is.
Actually unlikely they do. Most big companies are going to have routers on some sort of fiber circuit and in all likelyhood not need BFD at all, even if they have an ASN, their upstream almost certainly isn't going to use BFD with them. Mikrotik serves more units out to non-ISP networks. Things like zerotier and wireguard are in far more demand outside the ISP space....a big customer that does not need a reliable and more complete BGP implementation? That would be pretty surprising to me, though perhaps I should not make any assumptions.
Agree. I run a quite large MT network with 500+ routers in it - 2216, 2004s, 317s. All fiber, OSPF, BGP and hopefully a lot of BFD soon. Without BFD its a long 40second or 300 second wait.Those who think BFD is unimportant probably don't understand the importance of an in-place upgrade path for a large installation base.
I'm saying you can literally just drop a black hole route in and that's exactly what it does.The problem is that you no longer can advertise a random prefix that does not really exist in your routing table. v6 could do that, but v7 can't.
Most people don't actually consider v6 admin friendly, mostly because it's pretty inflexible. Every complaint about routing and filtering I've seen especially in comparison with v6, I can resolve and improve on and people get an 'ah ha' moment about how effective the new system is vs the old.Filter rules are of course a challenge and need to be properly tested. Even when rigorous tests have been carried out, there will unfortunately always pop up things you've missed to think of and then it's important that there is a productive monitoring tool available to quickly resolve any issues once you're in production. V7 is limited in that way.
Regarding filters, complex rule sets quickly becomes incomprehensible and in these cases a declarative interface would be preferable.
As for the other shortcomings, we can only hope that Mikrotik invests some time to scrub off the worst edges in order to and whenever possible, make v7 more practical and admin-friendly like v6.
"Filter rules are of course a challenge".If you read the post again, you'll probably notice I wasn't referring to the rules. However for that matter, so is a set of complex v7 rules as easy to comprehend, manageable and offers a great holistic view much like Malbolge or Microsoft SDDL ; -)
The thing is that RouterOS previously had the philosophy that it was not necessary to study languages and syntaxes except for the very most advanced topics (scripting).Maybe you should do a deep dive into the filter rules. Maybe it's just brackets and squiggly lines in the text that makes it seem difficult? They are no more difficult but are more flexible than cisco or juniper rules.
pardon?Unfortunately they are not allowed.
Otherwise, they will lose the North American market.
Yeah, thanks. You must be fun at parties.If you need BFD and BGP, use Cisco or Juniper
I believe that MikroTik does understand how very stupid that remark is/was -- but are to ashamed to admit that MikroTik is having Network competency issues implementing the protocol in RoS 7.x .... Perhaps the expertise is finally coming into fruition and BFD will be in RoS 8.x .... RoS 8 is about to hit the beta stream .... just a little more patience is needed ...You don't understand how stupid that remark is, don't you?
Looking at https://help.mikrotik.com/docs/display/ ... l+Overview page it can be seen that on Apr 15, 2023 information for upcoming version RouterOS 7.10 was added and it is still mentioned/planned that there will not be BFD support even in RouterOS version 7.10. For me - I don`t see much use of v7.x versions till BFD implementation.Everyone here knows how BFD is important to you all.
Development has many stages. Fortunately now BFD is in active internal testing stage, so - very close.
When it was "in development" previously, it was in research / theory phase.
In retrospect, it was probably a bad idea to release v7 without it, but would you have accepted the wait to v7 until now?
Fair enough. But IMO, the bad idea was merging the kernel change (which no doubt was PITA given the driver model changed) AND a new BGP/routing engine all in one release.In retrospect, it was probably a bad idea to release v7 without it, but would you have accepted the wait to v7 until now?
not to compare it to v6, but i think OSPF interface-templates would work a lot better for our use-case if you could pick an address-list for the network, like you already can with bgp networks.I would love for you to list a few items that are missing or less elegant.
thank you!Kudos to the MikroTik team for keeping their cool given the tone by a few customers.
Given that we're dealing with humans on either side of the keyboards I don't think they deserve the abuse they are receiving here, regardless of what their employers' strategy, roadmap and quality of delivery may be.
Everyone here knows how BFD is important to you all.
Development has many stages. Fortunately now BFD is in active internal testing stage, so - very close.
When it was "in development" previously, it was in research / theory phase.
In retrospect, it was probably a bad idea to release v7 without it, but would you have accepted the wait to v7 until now?
I would have been willing to wait for containers, rose storage, etc. BFD is not a new feature from the perspective of RouterOS users, whereas containers etc. most certainly are.Everyone here knows how BFD is important to you all.
Development has many stages. Fortunately now BFD is in active internal testing stage, so - very close.
When it was "in development" previously, it was in research / theory phase.
In retrospect, it was probably a bad idea to release v7 without it, but would you have accepted the wait to v7 until now?
it would be just awesome if there would be native support for FRR in MT (like a npk package like the "rose" npk for example!) --- speaking of, is there a topic covering that route?... would have been better to just use FRR instead ...
Can you give us an ETA for BFD becoming available for external (beta) testing?
Support for MikroTik hardware and the SoCs they use in mainline linux, bootloader peculiarities, to name a few.what would prevent us from flashing a lightweight Linux distro onto some of the arm-based routers and just run FRR?
I'm not sure this is so much about GPL as it is about having decided to ship devices with 16MB of storage—the better open source implementations simply won't fit. In other words, the value is in saving a couple of pennies on NAND with each device.On the one hand choosing a GPL licensed platform for your products (Linux) and then re-implementing lots of standard features from scratch for which better open source implementations exist is admittedly a weird hill to die on but it's a business decision MikroTik has made because it must believe that there is somehow more value in it.
Let me support you here.I'm trying to find out what this tells me about this market segment.
https://help.mikrotik.com/docs/display/ ... l+OverviewWhere did get that info from?
If a router goes down you want routing tables updated across your network as quickly as possible. If routers are directly connected (i.e. with just a cable between them) that is simple enough, the neighboring routers will see links going down and will begin recalculating routing tables and sending updates. The problem is that routers are often not so directly connected -- they are often connected via a switch or something similar (maybe a wireless bridge), and then a router going down will not result in its neighbors seeing links go down. Protocols like BGP and OSPF have timers that will eventually detect when a router went down, but those timers are relatively long -- if you need a full 60s just to detect that a router is down, that is 60s where packets are being silently dropped. You can set those timers to their minimums, but that is still measured in seconds which is a relatively long time.Pls excuse my ignorance (I'm just curious and want to learn), but why was BFD such a strongly demanded feature?
From what I'm researching, it's a really simple module that allows more granular/realtime implementation of a remote host is-alive/ping check? I guess this could be essential for HA purposes in some mission-critical or ISP-like production deployments, but other than that what am I missing? Why so much hype over this feature?
A typical use is to mark a dead BGP peer as down. Left on its own, the BGP process can take more than 90 seconds to do this - and when we are talking about ISPs routers... it won't cut it.From what I'm researching, it's a really simple module that allows more granular/realtime implementation of a remote host is-alive/ping check? I guess this could be essential for HA purposes in some mission-critical or ISP-like production deployments, but other than that what am I missing? Why so much hype over this feature?
it looks like BFD is only available for BGP. I cant find a way to enable BFD for OSPF links... hopefully that is coming soon.
Features not yet supported
echo mode
enabling BFD for OSPF
enabling BFD for ip route gateways
authentication
Sorry, but who does/needs that?!?! This is absolutely not a "usual" setup. When I turn my room light on and off so quickly, I don't need to be surprised when it pops... there are people here... always complaining....got very instable BFD sessions with min-rx/-tx below 50ms and a multiplier less than 3 in combination
If you're running VoIP traffic over it then this is about the rigth frequency. 50ms, 3 drops, and then a few more ms to update the routing table puts you in a 160-170ms failover time which is about how low you need to be to avoid having any noticable packet loss.Sorry, but who does/needs that?!?! This is absolutely not a "usual" setup. When I turn my room light on and off so quickly, I don't need to be surprised when it pops... there are people here... always complaining....got very instable BFD sessions with min-rx/-tx below 50ms and a multiplier less than 3 in combination
Please be happy that BFD is available. Many thanks to the mikrotik team!
not complaining. just testing some values i got in other cisco setups, and which are realistic for BFD setups.Sorry, but who does/needs that?!?! This is absolutely not a "usual" setup. When I turn my room light on and off so quickly, I don't need to be surprised when it pops... there are people here... always complaining....got very instable BFD sessions with min-rx/-tx below 50ms and a multiplier less than 3 in combination
Please be happy that BFD is available. Many thanks to the mikrotik team!
Where is the news?
OSPF wasn't in v7.10rc1 but it's in v7.10rc3. Only BFD doc reflects this, while the release note is little vagueWhere is the news?
wasnt really mentioned in the release notes for 7.10rc3, but via the documentation - you can see its there.Where is the news?
what is not correct? you know 0.2s = 200ms right, right?After upgrade from 6.48.6 to 7.10 default timers bfd isn't correct
6.48.6
/routing bfd interface
set [ find default=yes ] disabled=no interface=all interval=0.2s min-rx=0.2s \
multiplier=5
7.10
/routing bfd configuration
add disabled=no interfaces=all min-rx=200us min-tx=200us multiplier=5
[rack@router.de.seeon.landertsham.cgn] > routing/bfd/session/print
Flags: U - up, I - inactive
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] > routing/bfd/session/print
Flags: U - up, I - inactive
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] > routing/bfd/session/print
Flags: U - up, I - inactive
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] >
[rack@router.de.seeon.landertsham.cgn] > routing/bgp/export
# 2023-07-25 19:56:09 by RouterOS 7.10.2
# software id = VEYS-0MLP
#
# model = CCR2004-1G-12S+2XS
# serial number = D4F00CE93EFE
/routing bgp template
set default address-families=ip as=65200 disabled=no output.default-originate=never .redistribute=connected,static routing-table=main use-bfd=yes
/routing bgp connection
add address-families=ip as=65200 disabled=no input.filter=upstream-v4.in local.role=ebgp name=bgp-v4.de.frei.breslauerstr.v2220 output.default-originate=never \
.filter-chain=upstream-v4.out .redistribute=connected,static remote.address=172.16.11.1/32 .as=201962 .port=179 routing-table=main templates=default use-bfd=yes
add address-families=ipv6 as=65200 disabled=no input.filter=upstream-v6.in local.role=ebgp name=bgp-v6.de.frei.breslauerstr.v2220 output.default-originate=never \
.filter-chain=upstream-v6.out .redistribute=connected,static remote.address=2a04:df80:0:2220::1/128 .as=201962 .port=179 routing-table=main templates=default \
use-bfd=yes
add address-families=ip as=65200 disabled=no input.filter=upstream-v4.in local.role=ebgp name=bgp-v4.at.sbg.schillerstr.v2221 output.default-originate=never \
.filter-chain=upstream-v4.out .redistribute=connected,static remote.address=172.16.11.129/32 .as=201962 .port=179 routing-table=main templates=default use-bfd=yes
add address-families=ipv6 as=65200 disabled=no input.filter=upstream-v6.in local.role=ebgp name=bgp-v6.at.sbg.schillerstr.v2221 output.default-originate=never \
.filter-chain=upstream-v6.out .redistribute=connected,static remote.address=2a04:df80:0:2221::1/128 .as=201962 .port=179 routing-table=main templates=default \
use-bfd=yes
[rack@router.de.seeon.landertsham.cgn] > routing/bgp/session/print
Flags: E - established
0 name="bgp-v4.de.frei.breslauerstr.v2220-1"
remote.address=172.16.11.1 .as=201962 .id=91.205.12.2 .capabilities=mp,rr,gr,as4,llgr .hold-time=1m30s .gr-time=120
local.address=172.16.11.21 .as=65200 .id=172.16.11.148 .capabilities=mp,rr,gr,as4
output.filter-chain=upstream-v4.out
input.filter=upstream-v4.in .last-notification=ffffffffffffffffffffffffffffffff0015030609 ebgp
keepalive-time=30s use-bfd=yes last-started=1970-01-02 06:24:28 last-stopped=2023-07-25 17:42:35 prefix-count=0
1 name="bgp-v6.de.frei.breslauerstr.v2220-1"
remote.address=2a04:df80:0:2220::1 .as=201962 .id=91.205.12.2 .capabilities=mp,rr,gr,as4,llgr .afi=ipv6 .hold-time=1m30s .gr-time=120
local.address=2a04:df80:0:2220::26:1 .as=65200 .id=172.16.11.148 .capabilities=mp,rr,gr,as4 .afi=ipv6
output.filter-chain=upstream-v6.out
input.filter=upstream-v6.in .last-notification=ffffffffffffffffffffffffffffffff0015030609 ebgp
keepalive-time=30s use-bfd=yes last-started=1970-01-02 09:59:14 last-stopped=2023-07-25 17:42:35 prefix-count=0
2 name="bgp-v4.at.sbgi.schillerstr.v2221-1"
remote.address=172.16.11.129 .as=201962 .id=91.205.12.4 .capabilities=mp,rr,gr,as4,llgr .hold-time=1m30s .gr-time=120
local.address=172.16.11.148 .as=65200 .id=172.16.11.148 .capabilities=mp,rr,gr,as4
output.filter-chain=upstream-v4.out
input.filter=upstream-v4.in .last-notification=ffffffffffffffffffffffffffffffff0015030609 ebgp
keepalive-time=30s use-bfd=yes last-started=1970-01-02 10:04:07 last-stopped=2023-07-25 17:42:35 prefix-count=0
3 name="bgp-v6.at.sbg.schillerstr.v2221-1"
remote.address=2a04:df80:0:2221::1 .as=201962 .id=91.205.12.4 .capabilities=mp,rr,gr,as4,llgr .afi=ipv6 .hold-time=1m30s .gr-time=120
local.address=2a04:df80:0:2221::26:1 .as=65200 .id=172.16.11.148 .capabilities=mp,rr,gr,as4 .afi=ipv6
output.filter-chain=upstream-v6.out
input.filter=upstream-v6.in .last-notification=ffffffffffffffffffffffffffffffff0015030609 ebgp
keepalive-time=30s use-bfd=yes last-started=1970-01-02 10:04:33 last-stopped=2023-07-25 17:42:34 prefix-count=0
[rack@router.de.seeon.landertsham.cgn] > reboot
bad command name reboot (line 1 column 1)
[rack@router.de.seeon.landertsham.cgn] > system/reboot
Reboot, yes? [y/N]:
y
system will reboot shortly
+10Any Eta for bfd implementation for static route?