The Cloudflare folks investigating the stubborn issue of first AS verification in BGP AS_PATH attributes, and the surprising difference in default behaviour between JUNOS rpd (stemming from original gated behaviour?) and Cisco IOS. Perhaps it calls for an RFC8212 hot-fix.
@NetworkQueenX I think the real root (sorry!) of STP issues is the instinctive reaction most of us have to turn something complicated off in order to to reduce the complexity domain of something we are dealing. This serves well for most problems, but it’s a disaster for loop-free networking.
If stimulating the grey cells is one of your new year resolutions this year, add a linguistic dimension with “Learning Russian Verbs” from @ChrisPinnock. Get it in January and you may be пла́ча (crying, with happiness hopefully) at the discount!
📚 I'm offering a $3 discount on my book Learning Russian Verbs for the rest of January on @leanpub.
💸Use this link to purchase (regular price $12.50; discounted price $9.50): https://t.co/hzkb6qqA97
👉 Learn the basics of Russian verb grammar and learn 133 common verbs, chosen from well-known Russian learning textbooks and by frequency.
Forget Kandy Krush, Replicube or other word game brain teasers. Juniper/HP have nailed it with their innovative puzzle games! Get that cognitive workout you need with the Juniper Port Checker and see if you can load your box correctly! I can't get past the MX304 level...!
@anurag_bhatia Yes MED comparison scoped to neighbor AS is disabled at GTT/3257 (“always-compare-med”) which exacerbates this effect I think. Certainly allows a freer fight on IGP distance between different peer routes
@timClicks@ZacharyIndy Highlights for me, Tim
- Rust’s unsafe is not unsafe! 5m30
- Runtime checks still mean a crash (just as in Rust). 4m30
But crucially, give @filpizlo Mr Pizlo his due. Fil-C is an incredible innovation on plain-old C.
From scratch Linux-compatible (userland ABI) kernel for Aarch64, making use of Rust’s async/.await model in order to reduce kernel stack usage to one-per-CPU core (rather than one per kernel task)
https://t.co/ki5DfI45OK
Java once boasted of “write once, run everywhere,” which was quickly bastardised to “debug everywhere”. But the Cloudflare folks seem to have managed to earn the “debugged by everyone” accolade for @eastdakota’s unfortunate unwrap()
I'm amazed that the whole cloudfare outage happened because of an unwrap()
The beauty of Rusts Result monad is that it literally tells you that operations can fail. Anyone with a bit of experience on production knows that everything that can fail WILL fail...
The only time I use unwraps on production code is when I want my server to crash, usually on start up because it might have a wrong configuration or might have failed to lock some resource it needs to start
I wonder if it was AI code that nobody bothered to review because nobody is writing and reading code nowadays
Probably easy to criticise the Cloudflare team for using such a construct in production, but I think what we can admire is the rapid diagnostic and reporting effort that must have occurred to get the level of transparent reporting we see, even if it reveals some embarrassments
Oh no! Major blow for Rust advocates and afficianados everywhere as Matt Prince @eastdakota reveals a stray unwrap() in Cloudflare’s shiny new FL2 rust code was responsible for yesterday’s quick trip back to books by candlelight!
For the uninitiated, Rust's unwrap() is a brute-force "open and use this value" function for use on variables that might be error values or nullable. It's designed for use when any error condition is absolutely fatal and a program abort should be the consequence.
Taskman Dave @davepl1968, on the trouble with Windows and why Microsoft should ship a low-friction, predictable, deterministic manual transmission edition as a daily driver for power users who just need to get stuff done with least astonishment and exasperation
@artofneteng Swap large and extended here as I recall. Large has the Subject:Object:Verb structure, each field 32 bits. Extended (which preceded Large) is vari-format (64 bits). Extended gets used in VPN for instance with Route Targets, which themselves have three formats, aaargh
@stubarea51 Heasley’s https://t.co/T9gaGggExh branch of the original Cisco reference implementation, tac_plus, might be worth looking at. https://t.co/waa0ERGNBt