Numbering
We use 172.20.0.0/16.
The third octet indicates subnet as well as VLAN. I realized that there's an almost perfect correlation between interface name, type, number, and function pretty much always coincide. So let's use the third octet for that, and the fourth octet for host numbers. There's no need for hosts to have extra addressing for extra interfaces. Subnets will be /24 except napwork, which is /22 to accommodate other functions.
VLANs will be 3000 + the third octet rendered in decimal. (I use nothing outside of 3000..3255)
P_Keys will be 0xb000 + the third octet rendered in decimal. (I use nothing outside of 0xb000..0xb255. Partitions such as 0xb0ff are in that range but I won't be using them.)
Interfaces
All hosts currently have 1 or 2 Ethernet ports on the mainboard, 0 or 1 wireless devices, 0 or 1 quad-port Ethernet cards, 0 or 1 Infiniband/VPI cards. They all get used differently, so… I'm going to name them differently.
ethX: Nothing. Linux gives interfaces these names, and I rename them to something else.
emoX: physical ports on motherboards. (I kinda regret this.)
wlanX: wireless NICs
enX: quad-port cards
ibX: IP over Infiniband interfaces
mlxX: mlx ports when they are configured for Ethernet operation
Function Numbers (fun)
0-3/22: Napwork
0: .1 is the network controller (router, DHCP,
DNS); .2+ is for assigned hosts
1: .0-255 is for network-attached printers, storage, TVs, light bulbs, refrigerators, doorknobs…
2: .0-255 is for unassigned DHCP hosts
3: .0-254 is for VMs that are expected to only run on a specific physical host. Hosts
.32-39: butler
.72-79: carbon
.80-87: duckling
.88-95: happy
.96-103: shark (tadpole, )
.104.111: southpark (cudapark, )
Unused: 4-7 (/22) (if security cameras ever get a network, it should come from this range.)
Future Multipath: 8-15 (/21 in /24's)
Unused: 16-31 (/20)
Unused: 32-63 (/19)
RDMA networks (/19).
Unused: 96-127 (/18)
Multipath: 128-135 (/20 in /24's) (all gigabit right now)
128 - mp0 (en0: carbon, duckling, shark)
129 - mp1 (en1: carbon, duckling, shark)
130 - mp2 (en2: carbon, duckling, shark)
131 - mp3 (en3: carbon, duckling, shark)
Unused: 136-143 (/20)
Unused: 144-159 (/19)
Unused: 160-191 (/18)
Unused: 192-255 (/18) (remember 255 is valid)
If you add functions please think about whether it makes more sense to assign subnets sequentially, or split a block that's currently unassigned.
There aren't currently any VLANs in use. The Ubiquiti switches might have a stale layout:
248: outside
256: green
384: san0
there might be other san* VLANs defined. I don't remember.
I am no longer able to manage the TP-link switch. It's fixed configuration. I'm not using VLANs so I don't know how it will behave with them.
Host Numbers
These are pretty well established:
3: sunday
9..23: The Mainframe
9: carbon (2012)
10: duckling
11: happy (2018)
12: shark (2020)
13: southpark (2023)
14: southpark (2026)
15..23: (mainframe expanders. If we get bigger than 16 nodes I don't mind renumbering again.)
24..31: switches
24: butwhy b4:fb:e4:23:52:01
25: because b4:fb:e4:89:3f:25
26: tplink c0:4a:00:61:39:c0
27: (legacy) ngpoe 00:1f:33:fe:8a:be
32: quirk
33: minecraft
34: reclaim [this has to stay put]
35: xp-pe (tbh idk if this still exists)
36: tf2
MAC addresses for the quad-port gigabit cards
shark en(0..3)
hardware ethernet 00:10:18:f8:02:20;
hardware ethernet 00:10:18:f8:02:22;
hardware ethernet 00:10:18:f8:02:24;
hardware ethernet 00:10:18:f8:02:26;
duckling en(0..3)
hardware ethernet 00:10:18:f8:2e:10;
hardware ethernet 00:10:18:f8:2e:12;
hardware ethernet 00:10:18:f8:2e:14;
hardware ethernet 00:10:18:f8:2e:16;