Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use ASN ranges reserved for documentation in documentation #158

Closed
hslabbert opened this issue Feb 4, 2018 · 8 comments · Fixed by #159
Closed

Use ASN ranges reserved for documentation in documentation #158

hslabbert opened this issue Feb 4, 2018 · 8 comments · Fixed by #159

Comments

@hslabbert
Copy link
Contributor

Is this a bug report or a feature request?:

Bug report

What happened:

In the BGP configuration section, the documentation references public ASNs, specifically ASN 100 (FMC-CTC) and ASN 42 (WOODYNET-1). A set of ASNs are reserved for documentation per RFC5398, managed by IANA (available at https://www.iana.org/assignments/iana-as-numbers-special-registry/iana-as-numbers-special-registry.xhtml). This includes allocations in the 16-bit range (64496-64511) as well as 32-bit range (65536-65551).

What you expected to happen:

The documentation use ASNs set aside for documentation by IANA, as noted above.

How to reproduce it (as minimally and precisely as possible):

Read the docs at https://metallb.universe.tf/configuration/ or in the website content.

Anything else we need to know?:

I'm currently looking at testing out metallb for a project, so greatly appreciate the work! I'll drop a note in #5 if we get some progress on that :)

Environment:

  • MetalLB version: 0.3.1
  • Kubernetes version: any / N/A
  • BGP router type/version: any / N/A
  • OS (e.g. from /etc/os-release): any / N/A
  • Kernel (e.g. uname -a): any / N/A
@danderson
Copy link
Contributor

Woops, good catch! I thought I'd used private ASNs everywhere, but obviously not. Fixing...

@hslabbert
Copy link
Contributor Author

I've got hslabbert@4765248 prep'd if you want; can PR that.

@danderson
Copy link
Contributor

Sure, that'd be great - although I think you need to use 64512 and above, iirc 6450[01] are still managed numbers.

@hslabbert
Copy link
Contributor Author

I was going with documentation ranges (64496-64511) as opposed to private ranges (64512-65534) ;)
I can flip it to private if that's what's used in the rest of the docs for consistency (or I can check if the regular private ranges are used in other places and flip them to doc ranges)?

@danderson
Copy link
Contributor

danderson commented Feb 4, 2018

Oh! I didn't know there was a dedicated documentation range. Great, no objections then :)

The private ranges are used in the example configs (under manifests/), if you could change those to also use doc ranges that'd be great!

@hslabbert
Copy link
Contributor Author

Ah; some private ranges in the minikube docs as well, I see. Yea, can do. I've see these:

$ grep -R 6[45]5 website/content/
website/content/tutorial/minikube.md:    - my-asn: 64512
website/content/tutorial/minikube.md:      peer-asn: 64512
website/content/tutorial/minikube.md:    - my-asn: 64512
website/content/tutorial/minikube.md:      peer-asn: 64512
website/content/tutorial/minikube.md:    - my-asn: 64512
website/content/tutorial/minikube.md:      peer-asn: 64512
website/content/tutorial/minikube.md:    - my-asn: 64512
website/content/tutorial/minikube.md:      peer-asn: 64512
website/content/configuration/_index.md:and AS number 64500, and connect it to a router at 10.0.0.1 with AS
website/content/configuration/_index.md:number 64501, your configuration will look like:
website/content/configuration/_index.md:      peer-asn: 64501
website/content/configuration/_index.md:      my-asn: 64500
website/content/configuration/_index.md:      peer-asn: 64501
website/content/configuration/_index.md:      my-asn: 64500
website/content/configuration/_index.md:      no-advertise: 65535:65282
website/content/configuration/_index.md:`65535:65281` directly in the configuration of the `/24` if you
website/content/configuration/_index.md:  peer-asn: 64501
website/content/configuration/_index.md:  my-asn: 64500

Will check the manifests also. Although, for the manifests, I guess that could start getting into cases of people applying those directly with minor edits and ending up with doc ranges in their deployments? ponders.

@danderson
Copy link
Contributor

Hmm. At some point, I'm expecting some level of copy/paste no matter what we do. It's not a huge deal either way in the minikube tutorial, because the BGP sessions don't leave the minikube VM, so who cares what ASNs it's using.

If you change the ASNs in use in the tutorial, you may need to also edit some code in test-bgp-speaker/, the ASNs it uses for the loopback BGP sessions are hardcoded (yay me!).

@hslabbert
Copy link
Contributor Author

Right. I think as the tutorial is expected to be "apply this", it makes sense to leave those as private ASNs. The idea is to use the yaml files to create an environment, rather than describing something (docs). As you note, the sessions shouldn't leave minikube, so there shouldn't be risk of clashing any real-world private ASNs in play, which is what the doc ranges are basically trying to protect against.

I think I'll PR this with just the website docs updated and the tutorials left as is. If folks feel strongly that the tutorials = docs rather than "deploy this" material, I can update those as well.

If you change the ASNs in use in the tutorial, you may need to also edit some code in test-bgp-speaker/, the ASNs it uses for the loopback BGP sessions are hardcoded (yay me!).

Tests be all test-y ;)

fedepaol pushed a commit to fedepaol/metallb that referenced this issue Mar 20, 2024
…-4.12

OCPBUGS-23425: Fix controller reboot bug 4.12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants