Adam Chappell

431 posts

Adam Chappell

Adam Chappell

@packetsource

Packet network technology enthusiast: Internet, security, BGP, automation/programmability. GTT AS3257. Ham M0IPX, OK8CHP. 8-bit ZX fan. Author, blogger, writer.

London, England; Prague, Czech Joined Kasım 2010
691 Following379 Followers
Adam Chappell
Adam Chappell@packetsource·
@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.
English
0
0
0
29
Queen of Networks 👑
Queen of Networks 👑@NetworkQueenX·
STP is not difficult. The real problem is how it’s explained. Here are the 3 rules that make Spanning Tree Protocol easy: 1️⃣ Root bridge → all ports are designated ports 2️⃣ Every non-root switch → one root port 3️⃣ Each network segment → one designated port Everything else becomes blocking to prevent loops. Once you understand these 3 rules, STP becomes much easier to reason about. #Networking #CCNA
English
2
10
45
1.4K
Adam Chappell
Adam Chappell@packetsource·
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!
Chris Pinnock | drchris.tez | ⚾️ 🧱⛓️🐶🐶🏋️‍♀️🎸@chrispinnock

📚 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): leanpub.com/learningrussia… 👉 Learn the basics of Russian verb grammar and learn 133 common verbs, chosen from well-known Russian learning textbooks and by frequency.

English
0
0
0
73
Adam Chappell
Adam Chappell@packetsource·
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...!
Adam Chappell tweet media
English
0
0
0
132
Adam Chappell
Adam Chappell@packetsource·
@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
English
0
0
1
44
Adam Chappell
Adam Chappell@packetsource·
@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.
English
0
0
0
19
Tim McNamara
Tim McNamara@timClicks·
This doesn't feel particularly "timClicks" (I've tried very hard to steer away from engagement bait).. but I also sort of feel the need to respond to the idea that Fil-C is a better Rust. Should I make the video? If so, use this thumbnail or something less antagonistic?
Tim McNamara tweet media
English
21
2
123
10.8K
Adam Chappell
Adam Chappell@packetsource·
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) github.com/hexagonal-sun/…
English
0
0
0
69
Adam Chappell
Adam Chappell@packetsource·
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
English
0
0
2
42
Adam Chappell
Adam Chappell@packetsource·
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.
English
1
0
1
41
Adam Chappell
Adam Chappell@packetsource·
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!
Adam Chappell tweet media
English
1
0
3
169
Adam Chappell
Adam Chappell@packetsource·
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
English
1
0
0
40
Adam Chappell
Adam Chappell@packetsource·
@artofneteng I think we should have done expanded communities to complement extended communities, homage to DOS!
English
0
0
0
13
Adam Chappell
Adam Chappell@packetsource·
@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
English
1
0
1
22
Kevin Myers
Kevin Myers@stubarea51·
Is there a decent alternative to ISE for TACACS+ that runs in linux?
English
12
4
19
3.3K
Adam Chappell
Adam Chappell@packetsource·
If you’re doing anything with Juniper XML using Rust and quick_xml (reasonably common an performant XML decoder and deserialiser), it could be useful to know that since 0.38 it is now preserving the leading and trailing whitespace. This can be quite significant interacting with the JUNOS XMl APIs. trim() liberally
English
0
0
0
100
Adam Chappell
Adam Chappell@packetsource·
Me, sudo'ing with my Yubikey
Adam Chappell tweet media
English
0
0
1
164
Adam Chappell
Adam Chappell@packetsource·
Makes sense, but items itself is not stack allocated here, right? Only the containing struct is stack-based. items is zeroed on initialisation, and then realloc(0, size) to grow it is equivalent to malloc(size). The array dereference of items[n] after realloc() returns NULL however looks more problematic
English
1
0
3
541
Mark E. Dawson, Jr.
Mark E. Dawson, Jr.@medawsonjr·
@tsoding Interesting. I could've sworn that using realloc() against a stack-allocated pointer was UB but I guess not.
English
4
0
4
4.8K
Тsфdiиg
Тsфdiиg@tsoding·
Dynamic Arrays in C
English
104
358
5.7K
888.4K
Adam Chappell
Adam Chappell@packetsource·
It’s easy to dismiss IPv6 as a 30-year distraction that has failed to fix any of the deficiencies in IPv4 that we really need in a global packet protocol (end to end QoS, admission control, multihoming etc), obsessing only on inflating address space, removing NAT and allowing p2p. But then one sees a real gem such as iroh, an incredible effort to provide a pragmatic p2p network framework for developers given the constraints du jour in IPv4
English
1
0
1
164