This commit is contained in:
rchac committed 2026-05-30 00:00:30 -06:00
1 parent 935e22a3d9
commit 1bf4f62e81
14 files changed
+150 -9

No files matched your search

+11
View File
@@ -73,6 +73,17 @@ Si el modo integración está habilitado, los ciclos de refresco suelen ser due
- Use edición manual/WebUI para ajustes operativos temporales.
- Mantenga cambios permanentes en el sistema de integración, overrides de integración o flujo externo declarado.
### Modo de compilación de topología para archivos DIY/manuales
Para despliegues DIY/manuales que mantienen `network.json` y `ShapedDevices.csv`, use un modo que conserve jerarquía cuando los circuitos deban moldearse bajo los nombres `Parent Node` de `network.json`:
```toml
[topology]
compile_mode = "full"
```
Use `compile_mode = "flat"` solo cuando la jerarquía no forme parte del plan de shaping. En modo flat, LibreQoS asigna los circuitos a colas generadas por CPU, como `Generated_PN_1`; el `Parent Node` original queda como referencia lógica, pero el padre efectivo de shaping en `shaping_inputs.json` será una cola generada con `resolution_source: "flat_bucket"`.
### Overrides en runtime (`lqos_overrides.json`)
LibreQoS también permite ajustes de runtime mediante `lqos_overrides.json` en el `lqos_directory`.
+4
View File
@@ -26,6 +26,8 @@ Comportamiento clave:
- Su flujo externo es donde deben hacerse los cambios permanentes.
- Las ediciones por WebUI son válidas para cambios operativos rápidos.
- Mantenga los cambios de largo plazo en sus scripts o automatización.
- Use `topology.compile_mode = "full"` cuando los valores `Parent Node` de `ShapedDevices.csv` deban moldear bajo la jerarquía nombrada en `network.json`.
- Use `flat` solo cuando las colas generadas por CPU, como `Generated_PN_1`, sean la topología de colas deseada.
## Modo archivos manuales
@@ -35,6 +37,8 @@ Comportamiento clave:
- Es más adecuado para redes pequeñas, pilotos cortos o soluciones temporales.
- La WebUI le ayuda a validar lo que LibreQoS está usando.
- Requiere disciplina manual porque no hay un sistema superior que mantenga esos archivos sincronizados.
- Use `topology.compile_mode = "full"` cuando el shaping por padres superiores, AP o Sitio deba seguir `network.json`.
- Si `shaping_inputs.json` muestra `resolution_source: "flat_bucket"`, LibreQoS está en modo flat y los circuitos mostrarán colas padre generadas en vez de los nombres de `network.json`.
## Lista de verificación de modo (antes de producción)
+9 -3
View File
@@ -107,7 +107,10 @@ Elija esta opción solo si otro proceso interno ya escribe archivos compatibles
Haga esto ahora:
1. Configure el comportamiento compartido de topología en `Integration - Common`.
2. Publique `network.json` y `ShapedDevices.csv` desde su propio proceso.
3. Recargue o espere al scheduler para que LibreQoS valide y use esos archivos.
3. Use `topology.compile_mode = "full"` si los circuitos deben moldearse bajo la jerarquía nombrada por `Parent Node` en `network.json`.
4. Recargue o espere al scheduler para que LibreQoS valide y use esos archivos.
No use `topology.compile_mode = "flat"` si espera que los valores `Parent Node` de `ShapedDevices.csv` creen colas superiores de shaping. En modo flat, LibreQoS asigna intencionalmente los circuitos a colas generadas por CPU, como `Generated_PN_1`.
Siguiente:
- [Modos de operación y fuente de verdad](operating-modes-es.md)
@@ -120,8 +123,11 @@ Elija esta opción solo si quiere que LibreQoS mantenga directamente esos archiv
Haga esto ahora:
1. Construya `network.json`.
2. Construya `ShapedDevices.csv`.
3. Manténgalos con los editores de WebUI o con su flujo basado en archivos.
4. Confirme que el scheduler acepta los datos y que aparece la topología esperada.
3. Configure `topology.compile_mode = "full"` si la columna `Parent Node` debe moldear bajo los nodos nombrados en `network.json`.
4. Manténgalos con los editores de WebUI o con su flujo basado en archivos.
5. Confirme que el scheduler acepta los datos y que aparece la topología esperada.
Use `flat` solo cuando quiera colas generadas por CPU en vez de colas padre basadas en jerarquía.
Siguiente:
- [Referencia avanzada de configuración](configuration-advanced-es.md)
+19
View File
@@ -216,6 +216,25 @@ journalctl -u lqosd --since "10 minutes ago"
Si sigue en blanco con tráfico normal, recolecte logs y abra issue.
### Los circuitos muestran Generated_PN en vez de nombres de network.json
Si un despliegue DIY/manual usa `network.json` y `ShapedDevices.csv`, pero la página de Circuitos muestra padres como `Generated_PN_1`, revise las entradas de shaping runtime:
```bash
jq '.circuits[] | {circuit_id, logical_parent_node_name, effective_parent_node_name, resolution_source}' /opt/libreqos/state/shaping/shaping_inputs.json
```
Si `resolution_source` es `flat_bucket`, LibreQoS está en modo de topología flat. Ese modo asigna intencionalmente los circuitos a colas generadas por CPU en vez de moldearlos bajo la jerarquía nombrada por `Parent Node`.
Para moldear circuitos bajo los nombres de nodo de `network.json`, configure:
```toml
[topology]
compile_mode = "full"
```
Después recargue o espere al scheduler para regenerar `network.effective.json` y `shaping_inputs.json`.
### Colisión de promoción de nodo virtual (`network.json`)
Si `LibreQoS.py` falla con `Virtual node promotion collision: 'AP_A' already exists at this level.`, hay un nodo con `"virtual": true` cuyos hijos colisionan por nombre al promoverse.