Skip to content

Instantly share code, notes, and snippets.

@gleber
gleber / README.md
Last active May 13, 2026 13:34
Orange Poland (AS5617) <> Azure Front Door IPv6 connectivity issues

Summary

TCP connections to Azure Front Door IPv6 endpoints in the 2620:1ec::/32 range fail completely from Orange Poland's IPv6 network (AS5617). ICMP probes successfully reach Azure's internal infrastructure, confirming the issue is not a BGP peering problem — packets enter Azure's network but TCP sessions to the Front Door anycast IPs never complete. Multiple production sites using Azure Front Door are affected.


Affected Endpoints

DNS name CNAME chain Azure Front Door IPv6
@gleber
gleber / azure-ipv6-report.md
Created May 13, 2026 13:34
Azure Front Door IPv6 TCP failure from Orange Poland AS5617

Azure Front Door IPv6 TCP Connectivity Failure from Orange Poland (AS5617)

Summary

TCP connections to Azure Front Door IPv6 endpoints in the 2620:1ec::/32 range fail completely from Orange Poland's IPv6 network (AS5617). ICMP probes successfully reach Azure's internal infrastructure, confirming the issue is not a BGP peering problem — packets enter Azure's network but TCP sessions to the Front Door anycast IPs never complete. Multiple production sites using Azure Front Door are affected.


Affected Endpoints

@gleber
gleber / README.md
Last active December 30, 2025 19:27
X.Tips X7S Keyboard (2024-04)
@gleber
gleber / 01_NixOS_Prefix_delegation_with_fixed_DUID.md
Last active June 23, 2024 10:08
Configuring ipv6 with dhcpcd using static DUID in NixOS 17.03 (e.g. on online.net servers)

I was trying to configure native ipv6 on my NixOS box, which is running in online.net's datacenters. They provide you a /48 or smaller subnet and a DUID which is used during DHCP. In dhcpcd vocabulary DUID is called clientid.

online.net's help page about IPv6 configuration was not very useful, since NixOS uses dhcpcd by default. The page which allowed me to make it all work was https://community.online.net/t/tutorial-ipv6-with-dhcpcd/3804

It looks like the only really required entries in networking.dhcpcd.extraConfig are interface and static though. I assumed that clientid is also necessary, but it looks like dhcpcd cares much more about content of /etc/dhcpcd.duid. Of course replace enp2s0 with the name of the main interface.

Keybase proof

I hereby claim:

  • I am gleber on github.
  • I am gleber (https://keybase.io/gleber) on keybase.
  • I have a public key whose fingerprint is 01BB 7ECD F093 F407 AD0C 5D1A 56C7 5D02 E9F0 4E6B

To claim this, I am signing this object:

import Language.Haskell.TH
f n m = do
nm1 <- newName "x"
let b = replicate (m - 1) WildP
a = replicate (n - m) WildP
return (LamE [TupP (b++[VarP nm1]++a)] (VarE nm1))
1> F1 = future:new(fun() -> timer:sleep(3000), 10 end).
{future,<0.36.0>,#Ref<0.0.0.1660>,undefined}
2> F2 = future:new(fun() -> timer:sleep(3000), 5 end).
{future,<0.39.0>,#Ref<0.0.0.2014>,undefined}
3> F2:get() * F1:get().
50
@gleber
gleber / dialyzer.mkf
Created September 6, 2012 17:35 — forked from ericbmerritt/dialyzer.mkf
Dialyzer Example Makefile
# -*- mode: Makefile; fill-column: 80; comment-column: 75; -*-
ERL = $(shell which erl)
ERLFLAGS= -pa $(CURDIR)/.eunit -pa $(CURDIR)/ebin -pa $(CURDIR)/*/ebin
REBAR=$(shell which rebar)
ifeq ($(REBAR),)
$(error "Rebar not available on this system")
%% Analysis results:
{ analysis_options,
[{callers, false},
{sort, own},
{totals, true},
{details, false}]}.
% CNT ACC OWN
[{ totals, 6985519,124011.127,1236847.232}]. %%%
gleber@first:~/code/opensource$ git clone git@github.com:gleber/exat.git exat
Cloning into exat...
remote: Counting objects: 240, done.
remote: Compressing objects: 100% (148/148), done.
remote: Total 240 (delta 125), reused 202 (delta 87)
Receiving objects: 100% (240/240), 705.27 KiB | 172 KiB/s, done.
Resolving deltas: 100% (125/125), done.
gleber@first:~/code/opensource$ cd exat
gleber@first:~/code/opensource/exat$ make deps all
./rebar get-deps