)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"7dc8b1757208f651ae95393567383a83cded5dee","unresolved":true,"context_lines":[{"line_number":11,"context_line":"OpenStack users might need to have Neutron be aware of those networks or"},{"line_number":12,"context_line":"even configure those networks directly with a Neutron ML2 mechanism."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Utilized Claude Code to take an existing Markdown document and convert"},{"line_number":15,"context_line":"it to OpenStack\u0027s ReStructured Text format and provide grammar review."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Assisted-by: Claude Code 2.0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"228bc362_c169c89b","line":14,"updated":"2025-11-10 12:29:30.000000000","message":"if that is public, shale the rst have a link for that to make future maintenance easier?","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36fd7edcd7a70ac86019734a27dde67f777e8af7","unresolved":true,"context_lines":[{"line_number":11,"context_line":"OpenStack users might need to have Neutron be aware of those networks or"},{"line_number":12,"context_line":"even configure those networks directly with a Neutron ML2 mechanism."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Utilized Claude Code to take an existing Markdown document and convert"},{"line_number":15,"context_line":"it to OpenStack\u0027s ReStructured Text format and provide grammar review."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Assisted-by: Claude Code 2.0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5ce5f1e0_5267af43","line":14,"in_reply_to":"228bc362_c169c89b","updated":"2025-11-12 06:59:50.000000000","message":"It\u0027s not. It was used as the basis for this that I\u0027ve tried to make more generic but you\u0027ll still see some vendor specific comments that other reviewers have pointed out.","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"e2886832caad202a75c38318e9ef76eab06fe42a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"17e2319d_f2a199db","updated":"2025-10-31 01:26:06.000000000","message":"I did some updates but ran out of steam for the evening.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c0b34f12eefb8f312a1e9ca85af8e239de16efba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d48e38bd_b7001a6a","updated":"2025-10-30 19:55:36.000000000","message":"Overall, some comments, but looks great to me!","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"abf067354b021789195c24292fcceede055d4977","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f1355a60_d91890f1","updated":"2025-10-31 19:07:39.000000000","message":"https://cardoe.com/neutron/evpn-vxlan-network/admin/data-center-networks.html is a rendered copy of this page.","commit_id":"8a1b9e9075b77c56e817df662984c49106e9ea11"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"de32cda7153803e569533fadc9a15eb587826c75","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8c698d07_91674819","updated":"2026-01-27 07:22:23.000000000","message":"@juliaashleykreger@gmail.com should we move this to networking-baremetal and start some more docs there or have a networking section in the ironic docs?","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":14228,"name":"Clif Houck","email":"me@clifhouck.com","username":"clif_h"},"change_message_id":"91e1833067b8452d7effa5525894aaa30c3b52e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d21a099a_bda203f9","updated":"2026-01-12 21:08:32.000000000","message":"I can\u0027t comment on the correctness, but I was able to follow along fairly easily.","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"20149e855935c7886f3be1f1ecd2ab51894152e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e3105c1f_169a227d","updated":"2026-02-20 08:01:35.000000000","message":"I think we can push this forward","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36fd7edcd7a70ac86019734a27dde67f777e8af7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a4bd31a8_4533c703","updated":"2025-11-12 06:59:50.000000000","message":"I\u0027ve addressed outstanding review comments.","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"92fee04ad339af23cd5a829840fc4d05506aeff1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"22177777_8d1c3641","updated":"2025-11-03 21:24:24.000000000","message":"Overall, I think this is a great representation of the overall higher level modeling. Thanks Doug!","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"7dc8b1757208f651ae95393567383a83cded5dee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"320eae1a_9b07322f","updated":"2025-11-10 12:29:30.000000000","message":"thanks really useful (for me at least)","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"}],"doc/source/admin/data-center-networks.rst":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1268060d06dd07b05e7cee82ebcce28493d44914","unresolved":true,"context_lines":[{"line_number":13,"context_line":"very interesting to them and possibly statically configured or provided to"},{"line_number":14,"context_line":"them."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"However it is becoming increasingly common to have this be more dynamic or"},{"line_number":17,"context_line":"in the case of OpenStack Ironic need to configure these layers via OpenStack"},{"line_number":18,"context_line":"to have a fully automated and interconnected system. It is these cases that"},{"line_number":19,"context_line":"this document is for."}],"source_content_type":"text/x-rst","patch_set":1,"id":"6a92febd_0e1fa444","line":16,"range":{"start_line":16,"start_character":64,"end_line":16,"end_character":74},"updated":"2025-10-30 19:55:04.000000000","message":"I\u0027ve had customer use ML2 plugins for ages to tie into existing SDNs to facilitate dynamic connections for years. I would say it is \"table stakes\" of common data centers these days.\n\nEven in the days of TripleO, I had customers loading these plugins on their \"undercloud\" to facilitate the the same level of automation/orchestration just for the hypervisor deployments.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"e2886832caad202a75c38318e9ef76eab06fe42a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"very interesting to them and possibly statically configured or provided to"},{"line_number":14,"context_line":"them."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"However it is becoming increasingly common to have this be more dynamic or"},{"line_number":17,"context_line":"in the case of OpenStack Ironic need to configure these layers via OpenStack"},{"line_number":18,"context_line":"to have a fully automated and interconnected system. It is these cases that"},{"line_number":19,"context_line":"this document is for."}],"source_content_type":"text/x-rst","patch_set":1,"id":"6738ab4b_5bbd58f2","line":16,"range":{"start_line":16,"start_character":64,"end_line":16,"end_character":74},"in_reply_to":"6a92febd_0e1fa444","updated":"2025-10-31 01:26:06.000000000","message":"Done","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1268060d06dd07b05e7cee82ebcce28493d44914","unresolved":true,"context_lines":[{"line_number":38,"context_line":"Fabric"},{"line_number":39,"context_line":"    A system of interconnected switches designed to behave like a single,"},{"line_number":40,"context_line":"    unified network that emphasizes east-west scalability and uniform latency"},{"line_number":41,"context_line":"    utilizing a tunneling protocol such as VXLAN."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"VXLAN overlay"},{"line_number":44,"context_line":"    A virtual layer 2 network that runs on top of a layer 3 network, which is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3555a439_dd383a8e","line":41,"updated":"2025-10-30 19:55:04.000000000","message":"I\u0027d highlight, in order to disambiguate or maybe merge the concept. A storage fabric is the same basic idea, except maybe not modeled as such. An interconnected system of access regardless of if its IP packets or other protocols being carried and if there are tunneling protocols in use..","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"e2886832caad202a75c38318e9ef76eab06fe42a","unresolved":true,"context_lines":[{"line_number":38,"context_line":"Fabric"},{"line_number":39,"context_line":"    A system of interconnected switches designed to behave like a single,"},{"line_number":40,"context_line":"    unified network that emphasizes east-west scalability and uniform latency"},{"line_number":41,"context_line":"    utilizing a tunneling protocol such as VXLAN."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"VXLAN overlay"},{"line_number":44,"context_line":"    A virtual layer 2 network that runs on top of a layer 3 network, which is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"970d2713_28c53812","line":41,"in_reply_to":"3555a439_dd383a8e","updated":"2025-10-31 01:26:06.000000000","message":"Not sure what would be a good change here.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a44c58ff1b0f509b8ca9bfb89d7de6295a9f80ea","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Fabric"},{"line_number":39,"context_line":"    A system of interconnected switches designed to behave like a single,"},{"line_number":40,"context_line":"    unified network that emphasizes east-west scalability and uniform latency"},{"line_number":41,"context_line":"    utilizing a tunneling protocol such as VXLAN."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"VXLAN overlay"},{"line_number":44,"context_line":"    A virtual layer 2 network that runs on top of a layer 3 network, which is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c543bab6_94954dd4","line":41,"in_reply_to":"970d2713_28c53812","updated":"2025-11-03 21:23:59.000000000","message":"Fair, it might just be clouding the discussion for those who have never been exposed to that reality either.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1268060d06dd07b05e7cee82ebcce28493d44914","unresolved":true,"context_lines":[{"line_number":44,"context_line":"    A virtual layer 2 network that runs on top of a layer 3 network, which is"},{"line_number":45,"context_line":"    called the underlay. The overlay utilizes VNIs to provide logical layer 2"},{"line_number":46,"context_line":"    for attached hosts. The underlay provides IP connectivity between VXLAN"},{"line_number":47,"context_line":"    tunnel endpoints (VTEPs)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"L2VNI"},{"line_number":50,"context_line":"    A logically separated layer 2 broadcast domain which allows all attached"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3898713e_68890d80","line":47,"range":{"start_line":47,"start_character":4,"end_line":47,"end_character":29},"updated":"2025-10-30 19:55:04.000000000","message":"nit: which may be separately attached either virtually, or physically, to provide transportation of layer2 packets?","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"e2886832caad202a75c38318e9ef76eab06fe42a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    A virtual layer 2 network that runs on top of a layer 3 network, which is"},{"line_number":45,"context_line":"    called the underlay. The overlay utilizes VNIs to provide logical layer 2"},{"line_number":46,"context_line":"    for attached hosts. The underlay provides IP connectivity between VXLAN"},{"line_number":47,"context_line":"    tunnel endpoints (VTEPs)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"L2VNI"},{"line_number":50,"context_line":"    A logically separated layer 2 broadcast domain which allows all attached"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b52cea12_46a433f8","line":47,"range":{"start_line":47,"start_character":4,"end_line":47,"end_character":29},"in_reply_to":"3898713e_68890d80","updated":"2025-10-31 01:26:06.000000000","message":"Done","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1268060d06dd07b05e7cee82ebcce28493d44914","unresolved":true,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"   Due to certain vendor limitations, the if multiple ports on the same switch"},{"line_number":107,"context_line":"   need to bind to the same VNI then only one VNI to VLAN binding can be created"},{"line_number":108,"context_line":"   and all ports need to utilize the same VLAN."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"To start supporting this case Neutron added"},{"line_number":111,"context_line":":ref:`Routed Provider Networks \u003cconfig-routed-provider-networks\u003e`"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc6e5a4_dc82b12f","line":108,"updated":"2025-10-30 19:55:04.000000000","message":"Worth another note to highlight the fact the VNI number cannot just be assumed to be a VLAN id number, since there is no guarantee that the VXLAN customer/user is the same as the whole network operator.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1268060d06dd07b05e7cee82ebcce28493d44914","unresolved":true,"context_lines":[{"line_number":137,"context_line":"      │ eth0  │ │ eth0   │   │ eth0   │ │ eth0    │"},{"line_number":138,"context_line":"      └───────┘ └────────┘   └────────┘ └─────────┘"},{"line_number":139,"context_line":"       VLAN 100   VLAN 100     VLAN 100   VLAN 100"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"In this architecture:"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"* **VXLAN VNI 10000** is the overlay network identifier used for the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e96f17ac_db1306c3","line":140,"updated":"2025-10-30 19:55:04.000000000","message":"Just a little whitespace fixes needed above.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"e2886832caad202a75c38318e9ef76eab06fe42a","unresolved":false,"context_lines":[{"line_number":137,"context_line":"      │ eth0  │ │ eth0   │   │ eth0   │ │ eth0    │"},{"line_number":138,"context_line":"      └───────┘ └────────┘   └────────┘ └─────────┘"},{"line_number":139,"context_line":"       VLAN 100   VLAN 100     VLAN 100   VLAN 100"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"In this architecture:"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"* **VXLAN VNI 10000** is the overlay network identifier used for the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"13add87b_cd4ee51b","line":140,"in_reply_to":"e96f17ac_db1306c3","updated":"2025-10-31 01:26:06.000000000","message":"Done","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1268060d06dd07b05e7cee82ebcce28493d44914","unresolved":true,"context_lines":[{"line_number":141,"context_line":"In this architecture:"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"* **VXLAN VNI 10000** is the overlay network identifier used for the"},{"line_number":144,"context_line":"  virtual network"},{"line_number":145,"context_line":"* **VLAN 100** is the local VLAN ID assigned on each switch (switch-local VLAN)"},{"line_number":146,"context_line":"* Each ToR switch performs VXLAN encapsulation/decapsulation, mapping"},{"line_number":147,"context_line":"  VNI 10000 to VLAN 100 on the server-facing ports"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fdf394c5_d6d0d190","line":144,"updated":"2025-10-30 19:55:04.000000000","message":"I\u0027d add, no VLANs or native vlan tagged traffic exist in the spine/core network in this example.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"e2886832caad202a75c38318e9ef76eab06fe42a","unresolved":false,"context_lines":[{"line_number":141,"context_line":"In this architecture:"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"* **VXLAN VNI 10000** is the overlay network identifier used for the"},{"line_number":144,"context_line":"  virtual network"},{"line_number":145,"context_line":"* **VLAN 100** is the local VLAN ID assigned on each switch (switch-local VLAN)"},{"line_number":146,"context_line":"* Each ToR switch performs VXLAN encapsulation/decapsulation, mapping"},{"line_number":147,"context_line":"  VNI 10000 to VLAN 100 on the server-facing ports"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9c3477cb_a7864fac","line":144,"in_reply_to":"fdf394c5_d6d0d190","updated":"2025-10-31 01:26:06.000000000","message":"Done","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1268060d06dd07b05e7cee82ebcce28493d44914","unresolved":true,"context_lines":[{"line_number":287,"context_line":"#. Destination switch decapsulates and maps to its local VLAN (e.g., 101)"},{"line_number":288,"context_line":"#. Destination switch rewrites to tenant VLAN (e.g., 2018) on egress"},{"line_number":289,"context_line":"#. Destination server receives frame tagged with tenant VLAN 2018"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"This allows tenants to use consistent VLAN numbering across their entire"},{"line_number":292,"context_line":"deployment while allowing the fabric to scale beyond 4094 VLANs through"},{"line_number":293,"context_line":"VLAN ID reuse across different physical networks."}],"source_content_type":"text/x-rst","patch_set":1,"id":"441add9e_e0bd03af","line":290,"updated":"2025-10-30 19:55:04.000000000","message":"As a nit, I feel like the context is sort of being overflowed here in that framing the inbound packet as tagged means we\u0027re already dealing with nested layer2 packet payloads, when maybe we shouldn\u0027t be diving in to that level for conceptual modeling?","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36fd7edcd7a70ac86019734a27dde67f777e8af7","unresolved":true,"context_lines":[{"line_number":287,"context_line":"#. Destination switch decapsulates and maps to its local VLAN (e.g., 101)"},{"line_number":288,"context_line":"#. Destination switch rewrites to tenant VLAN (e.g., 2018) on egress"},{"line_number":289,"context_line":"#. Destination server receives frame tagged with tenant VLAN 2018"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"This allows tenants to use consistent VLAN numbering across their entire"},{"line_number":292,"context_line":"deployment while allowing the fabric to scale beyond 4094 VLANs through"},{"line_number":293,"context_line":"VLAN ID reuse across different physical networks."}],"source_content_type":"text/x-rst","patch_set":1,"id":"8e5a1bf8_47d7985d","line":290,"in_reply_to":"069b3a6a_04da5419","updated":"2025-11-12 06:59:50.000000000","message":"I\u0027ve dropped this se","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"e2886832caad202a75c38318e9ef76eab06fe42a","unresolved":true,"context_lines":[{"line_number":287,"context_line":"#. Destination switch decapsulates and maps to its local VLAN (e.g., 101)"},{"line_number":288,"context_line":"#. Destination switch rewrites to tenant VLAN (e.g., 2018) on egress"},{"line_number":289,"context_line":"#. Destination server receives frame tagged with tenant VLAN 2018"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"This allows tenants to use consistent VLAN numbering across their entire"},{"line_number":292,"context_line":"deployment while allowing the fabric to scale beyond 4094 VLANs through"},{"line_number":293,"context_line":"VLAN ID reuse across different physical networks."}],"source_content_type":"text/x-rst","patch_set":1,"id":"83830705_36a1eb02","line":290,"in_reply_to":"441add9e_e0bd03af","updated":"2025-10-31 01:26:06.000000000","message":"Yeah I went a little wild describing all things we can do.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a44c58ff1b0f509b8ca9bfb89d7de6295a9f80ea","unresolved":true,"context_lines":[{"line_number":287,"context_line":"#. Destination switch decapsulates and maps to its local VLAN (e.g., 101)"},{"line_number":288,"context_line":"#. Destination switch rewrites to tenant VLAN (e.g., 2018) on egress"},{"line_number":289,"context_line":"#. Destination server receives frame tagged with tenant VLAN 2018"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"This allows tenants to use consistent VLAN numbering across their entire"},{"line_number":292,"context_line":"deployment while allowing the fabric to scale beyond 4094 VLANs through"},{"line_number":293,"context_line":"VLAN ID reuse across different physical networks."}],"source_content_type":"text/x-rst","patch_set":1,"id":"069b3a6a_04da5419","line":290,"in_reply_to":"83830705_36a1eb02","updated":"2025-11-03 21:23:59.000000000","message":"I would just hope we try and keep it simply relatable. I guess that was kind of why I was trying to talk about framing things in the OSI model on the call.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"c74e62ddc5103906921470a84f2e6df06650c454","unresolved":false,"context_lines":[{"line_number":287,"context_line":"#. Destination switch decapsulates and maps to its local VLAN (e.g., 101)"},{"line_number":288,"context_line":"#. Destination switch rewrites to tenant VLAN (e.g., 2018) on egress"},{"line_number":289,"context_line":"#. Destination server receives frame tagged with tenant VLAN 2018"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"This allows tenants to use consistent VLAN numbering across their entire"},{"line_number":292,"context_line":"deployment while allowing the fabric to scale beyond 4094 VLANs through"},{"line_number":293,"context_line":"VLAN ID reuse across different physical networks."}],"source_content_type":"text/x-rst","patch_set":1,"id":"8e3d97b4_97e95b54","line":290,"in_reply_to":"8e5a1bf8_47d7985d","updated":"2025-11-22 01:33:59.000000000","message":"Done","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1268060d06dd07b05e7cee82ebcce28493d44914","unresolved":true,"context_lines":[{"line_number":499,"context_line":"   * Create/reuse a dynamic VLAN segment (e.g., VLAN 100)"},{"line_number":500,"context_line":"   * Configure the ToR switch port for VLAN 100"},{"line_number":501,"context_line":"   * The switch maps VLAN 100 to VXLAN VNI 10000 via EVPN"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"Physical network name handling"},{"line_number":504,"context_line":"-------------------------------"},{"line_number":505,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"cad4127a_f491b9f9","line":502,"updated":"2025-10-30 19:55:04.000000000","message":"As a further note, worth detailing that there will be additional binds related to overall workflow of provisioning., but in this specific case this is the end state network port binding.","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1268060d06dd07b05e7cee82ebcce28493d44914","unresolved":false,"context_lines":[{"line_number":516,"context_line":"* Use ``evpn-physnet`` for the VXLAN segment"},{"line_number":517,"context_line":"* Use ``vlan-physnet`` for the dynamically allocated VLAN segment"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"If a colon is not present, the ``evpn-physnet`` is considered empty."},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"Trunk ports and subports"},{"line_number":522,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bc624e35_559442e3","line":519,"updated":"2025-10-30 19:55:04.000000000","message":"SGTM, Thanks!","commit_id":"2537fd62266edaa3b9d88e41d07cd6e79df88cea"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"3eeaf636eba425f8dfed3171119f36c34ddd4fad","unresolved":true,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"   * VLANs bound to a VNI do not have to be the same across the Fabric. This"},{"line_number":126,"context_line":"     allows for theoretical increase in logical layer 2 networks greater than"},{"line_number":127,"context_line":"     4096 that would be the limit for pure VLAN."},{"line_number":128,"context_line":"   * When utilizing MLAG, the same VLAN must be bound to the VNI for both ports"},{"line_number":129,"context_line":"     making up the LACP link."},{"line_number":130,"context_line":"   * Due to certain vendor limitations, if multiple ports on the same switch"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f0a8bda_de2dce38","line":127,"updated":"2025-11-10 15:37:01.000000000","message":"nit - it\u0027s 4094 as vlan IDs 4095 and 0 are reserved. Other sections of this document mention 4094 too.","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"80ba3c23e5a3179c25ec19c8e0c0a761aeef8044","unresolved":true,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"   * VLANs bound to a VNI do not have to be the same across the Fabric. This"},{"line_number":126,"context_line":"     allows for theoretical increase in logical layer 2 networks greater than"},{"line_number":127,"context_line":"     4096 that would be the limit for pure VLAN."},{"line_number":128,"context_line":"   * When utilizing MLAG, the same VLAN must be bound to the VNI for both ports"},{"line_number":129,"context_line":"     making up the LACP link."},{"line_number":130,"context_line":"   * Due to certain vendor limitations, if multiple ports on the same switch"}],"source_content_type":"text/x-rst","patch_set":4,"id":"b69422bb_65270f05","line":127,"in_reply_to":"1f0a8bda_de2dce38","updated":"2025-11-11 01:49:36.000000000","message":"It is also worse than that because on physical switches sometimes have sections of vlan IDs reserved, such as for cross-controller communication which consumes a whole range. The TL;DR it needs to be definable per switch to restrict the range of local available networks.","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36fd7edcd7a70ac86019734a27dde67f777e8af7","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"   * VLANs bound to a VNI do not have to be the same across the Fabric. This"},{"line_number":126,"context_line":"     allows for theoretical increase in logical layer 2 networks greater than"},{"line_number":127,"context_line":"     4096 that would be the limit for pure VLAN."},{"line_number":128,"context_line":"   * When utilizing MLAG, the same VLAN must be bound to the VNI for both ports"},{"line_number":129,"context_line":"     making up the LACP link."},{"line_number":130,"context_line":"   * Due to certain vendor limitations, if multiple ports on the same switch"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3c5d3c10_a3051e03","line":127,"in_reply_to":"b69422bb_65270f05","updated":"2025-11-12 06:59:50.000000000","message":"@juliaashleykreger@gmail.com Yep. This doc actually lays that out by specifically having the user create one or more network segment ranges of type vlan with the physical_network value matching what the Ironic baremetal port has. Then that\u0027ll be used to allocate VLANs from. Can confirm this works today with the patches I\u0027ve proposed to Neutron and Ironic.","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"3eeaf636eba425f8dfed3171119f36c34ddd4fad","unresolved":true,"context_lines":[{"line_number":191,"context_line":""},{"line_number":192,"context_line":".. note::"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"   In production deployments, ToR switches are often deployed in VPC (Virtual"},{"line_number":195,"context_line":"   Port Channel) pairs for redundancy. Each MLAG pair acts as a single logical"},{"line_number":196,"context_line":"   VTEP (VXLAN Tunnel Endpoint), providing high availability and load"},{"line_number":197,"context_line":"   distribution across both switches. Both switches in the MLAG pair would"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dd10f743_25b20e40","line":194,"updated":"2025-11-10 15:37:01.000000000","message":"another nit - vPC is a Cisco proprietary technology. The next sentence mentions MLAG pair, so should we keep it consistent and call it MLAG pair or \"multi-chassis link aggretaion\" here too?","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36fd7edcd7a70ac86019734a27dde67f777e8af7","unresolved":false,"context_lines":[{"line_number":191,"context_line":""},{"line_number":192,"context_line":".. note::"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"   In production deployments, ToR switches are often deployed in VPC (Virtual"},{"line_number":195,"context_line":"   Port Channel) pairs for redundancy. Each MLAG pair acts as a single logical"},{"line_number":196,"context_line":"   VTEP (VXLAN Tunnel Endpoint), providing high availability and load"},{"line_number":197,"context_line":"   distribution across both switches. Both switches in the MLAG pair would"}],"source_content_type":"text/x-rst","patch_set":4,"id":"d4fe456e_23b106dd","line":194,"in_reply_to":"dd10f743_25b20e40","updated":"2025-11-12 06:59:50.000000000","message":"Done","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"3eeaf636eba425f8dfed3171119f36c34ddd4fad","unresolved":true,"context_lines":[{"line_number":625,"context_line":"~~~~~~~~~~~~~~"},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"* **VNIC type support**: The EVPN L2VNI mechanism driver only processes ports"},{"line_number":628,"context_line":"  with VNIC type ``baremetal``. Virtual machine ports are not affected."},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"* **Dynamic segment cleanup**: When a baremetal port is unbound, the mechanism"},{"line_number":631,"context_line":"  driver checks if the dynamic VLAN segment is still in use by other ports."}],"source_content_type":"text/x-rst","patch_set":4,"id":"0d52ebdd_bba91bb7","line":628,"updated":"2025-11-10 15:37:01.000000000","message":"```suggestion\n  with VNIC type of ``baremetal``. Virtual machine ports are not affected.\n```","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36fd7edcd7a70ac86019734a27dde67f777e8af7","unresolved":false,"context_lines":[{"line_number":625,"context_line":"~~~~~~~~~~~~~~"},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"* **VNIC type support**: The EVPN L2VNI mechanism driver only processes ports"},{"line_number":628,"context_line":"  with VNIC type ``baremetal``. Virtual machine ports are not affected."},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"* **Dynamic segment cleanup**: When a baremetal port is unbound, the mechanism"},{"line_number":631,"context_line":"  driver checks if the dynamic VLAN segment is still in use by other ports."}],"source_content_type":"text/x-rst","patch_set":4,"id":"35a38c3d_df432470","line":628,"in_reply_to":"0d52ebdd_bba91bb7","updated":"2025-11-12 06:59:50.000000000","message":"Done","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"3eeaf636eba425f8dfed3171119f36c34ddd4fad","unresolved":true,"context_lines":[{"line_number":672,"context_line":"  and `the subnet implementation \u003chttps://review.opendev.org/c/openstack/neutron/+/840418\u003e`_."},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"* Multiple Fabrics / VXLAN overlays are not supported in one Neutron"},{"line_number":675,"context_line":"  instance due to the lack of ``physical_network`` being allowed on the vxlan"},{"line_number":676,"context_line":"  type driver. To solve this a new `evpn-vxlan type has been proposed"},{"line_number":677,"context_line":"  \u003chttps://review.opendev.org/c/openstack/neutron-specs/+/952166\u003e`_."},{"line_number":678,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"67c8f71e_0e31399d","line":675,"updated":"2025-11-10 15:37:01.000000000","message":"```suggestion\n  instance due to the lack of ``physical_network`` attribute being allowed on the vxlan\n```","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36fd7edcd7a70ac86019734a27dde67f777e8af7","unresolved":false,"context_lines":[{"line_number":672,"context_line":"  and `the subnet implementation \u003chttps://review.opendev.org/c/openstack/neutron/+/840418\u003e`_."},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"* Multiple Fabrics / VXLAN overlays are not supported in one Neutron"},{"line_number":675,"context_line":"  instance due to the lack of ``physical_network`` being allowed on the vxlan"},{"line_number":676,"context_line":"  type driver. To solve this a new `evpn-vxlan type has been proposed"},{"line_number":677,"context_line":"  \u003chttps://review.opendev.org/c/openstack/neutron-specs/+/952166\u003e`_."},{"line_number":678,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"f6a166f1_045f0db7","line":675,"in_reply_to":"67c8f71e_0e31399d","updated":"2025-11-12 06:59:50.000000000","message":"Done","commit_id":"ec8cf9d0d2f7c70b5d253d59b7ee099ce722fdb9"}]}
