Skip to content

Commit

Permalink
Added IPv6 notes
Browse files Browse the repository at this point in the history
  • Loading branch information
aceat64 committed Aug 20, 2024
1 parent 508f257 commit e70b750
Show file tree
Hide file tree
Showing 8 changed files with 485 additions and 372 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
.cache/
.mypy_cache/
site/
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ poetry run mkdocs build

## Copyright

Copyright (c) 2023 Andrew LeCody
Copyright (c) 2022-2024 Andrew LeCody

This work is licensed under a Creative Commons Attribution 4.0 International License.

Expand Down
37 changes: 37 additions & 0 deletions content/guides/ipv6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
status: new
description: Useful notes for using and planning for IPv6.
hide:
- toc
---

# IPv6

- Subnets should always be /64s
- Use [SLAAC](https://en.wikipedia.org/wiki/IPv6#Stateless_address_autoconfiguration_(SLAAC)) whenever possible, avoid DHCP
- Using nibble-aligned (4 bit) prefixes makes things easier
- `fe80::/10` are [link-local addresses](https://en.wikipedia.org/wiki/Link-local_address)
- Gross, it's NOT nibble-aligned, which means this range is `fe80::` to `febf::`. So anything that starts with `fe8`, `fe9`, `fea` and `feb`.
- [DHCPv6 prefix delegation](https://en.wikipedia.org/wiki/Prefix_delegation) is a common way ISPs hand out IPv6 ranges.

## How Many /64s

| Prefix | /64s | Subnet Bits |
| ------ | ------ | ----------- |
| /48 | 65,536 | 16 |
| /49 | 32,768 | 15 |
| /50 | 16,384 | 14 |
| /51 | 8,192 | 13 |
| /52 | 4,096 | 12 |
| /53 | 2,048 | 11 |
| /54 | 1,024 | 10 |
| /55 | 512 | 9 |
| /56 | 256 | 8 |
| /57 | 128 | 7 |
| /58 | 64 | 6 |
| /59 | 32 | 5 |
| /60 | 16 | 4 |
| /61 | 8 | 3 |
| /62 | 4 | 2 |
| /63 | 2 | 1 |
| /64 | 1 | 0 |
1 change: 0 additions & 1 deletion content/guides/zfs-notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
status: new
description: Various notes about my usage of ZFS/OpenZFS.
---

Expand Down
37 changes: 37 additions & 0 deletions content/stylesheets/ipv6.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/* If it's stupid and it works... */
#how-many-64s + .md-typeset__scrollwrap > .md-typeset__table > table:nth-child(1) > tbody:nth-child(2) {
tr:nth-child(1) {
background-color: #448aff1a;
td {
font-weight: bold;
}
}

tr:nth-child(5) {
background-color: #00b8d41a;
td {
font-weight: bold;
}
}

tr:nth-child(9) {
background-color: #00bfa51a;
td {
font-weight: bold;
}
}

tr:nth-child(13) {
background-color: #64dd171a;
td {
font-weight: bold;
}
}

tr:nth-child(17) {
background-color: #ff91001a;
td {
font-weight: bold;
}
}
}
3 changes: 3 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ nav:
- guides/mkdocs-material-insider-github-pages-action.md
- guides/http-status-codes.md
- guides/zfs-notes.md
- guides/ipv6.md
- Smart Home:
- smart-home/architecture.md
- smart-home/garage-door.md
Expand Down Expand Up @@ -104,3 +105,5 @@ theme:
toggle:
icon: material/brightness-4
name: Switch to system preference
extra_css:
- stylesheets/ipv6.css
775 changes: 406 additions & 369 deletions poetry.lock

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ Pillow = "^10.1.0"
CairoSVG = "^2.7.0"
pngquant = "^1.0.7"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

0 comments on commit e70b750

Please sign in to comment.