Profile cover photo
Profile photo
Dave Taht
2,465 followers -
singer, pianist, guitarist, writer, experimenter, theorist, hacker, maker, faker - in no particular order, on any given day. And I also write code.
singer, pianist, guitarist, writer, experimenter, theorist, hacker, maker, faker - in no particular order, on any given day. And I also write code.

2,465 followers
About
Dave's posts

Post has attachment
untangle ships bufferbloat fixes in their firewall. https://wiki.untangle.com/index.php/Bufferbloat

clang-format. I don't know how I was living without it. If only I could convince it to line up the broken second struct line below with the variable definition (it's too long to fit on an 80 column line)

static int parse_kernel_route_rta4(struct rtmsg* rtm, int len,
struct kernel_route* route)

Post has attachment
This is, in some ways, the nicest code I've ever seen.

https://github.com/dtaht/libv6/blob/master/clients/tabalb/babel.bpf

Post has attachment

Post has attachment

Ironically, the video and audio are way out of sync here. The quality of the audio opus (48 khz) - is rockin, tho: https://www.youtube.com/watch?v=NEDj0jkjF5I

Post has attachment
I keep thinking that if there was a routing redteam, I'd join it.

https://github.com/dtaht/rtod

I learned something today. the newfangled "Web managed switch" = switch does not give me any snmp statistics. Sigh. There are a ton of "web managed switches" out there, I guess I'll see if I can screenscrape the info I need. 

You will always find this snippet of code funny if you understand arm neon boolean vector operations.

typedef uint32x4_t usimd;

static inline int compare(const unsigned char *src) {
usimd tmp = vld1q_u32((const unsigned int *) src);
usimd result = veorq_u32(zeros,tmp);
result = vorrq_u32(result,veorq_u32(ones,tmp));
result = vorrq_u32(result,veorq_u32(ll,tmp));
result = vorrq_u32(result,veorq_u32(v4_prefix,tmp));
return is_not_zero(result);
}





Post has attachment
Wait while more posts are being loaded