Rede da rota
Verifica se o network_id de routes.txt não é usado quando existe route_networks.txt e, quando configurado, se consta da lista de valores permitidos.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | routes_network_id_references_networks_table |
| Ficheiro | routes.txt |
| Campo | network_id |
| Tipo | ID |
| Severidade | Condicional (proibido quando existe route_networks.txt) |
Descrição do campo: identifica um grupo de rotas. Várias linhas de routes.txt podem ter o mesmo network_id. É proibido se o ficheiro route_networks.txt existir. Caso contrário, é opcional.
Mais informação em routes.txt.
Como funciona
Quando a regra passa, o network_id não é usado em conjunto com route_networks.txt e, se a configuração da regra tiver uma lista de valores permitidos, consta dessa lista. A regra não confirma que a rede existe.
A regra avalia cada linha do routes.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O campo está vazio? | Verifica se a configuração da regra exige ou recomenda este campo. Se sim, reporta o problema. Se não, aceita | Segue para o passo 2 |
| 2 | A configuração da regra define que este campo não deve ser preenchido? | ❌ Reporta o problema | Segue para o passo 3 |
| 3 | O ficheiro route_networks.txt existe e tem linhas? | ❌ Reporta o problema: network_id proibido com route_networks.txt | Segue para o passo 4 |
| 4 | A configuração da regra tem uma lista de valores permitidos? | Segue para o passo 5 | ✅ Passa |
| 5 | O valor está na lista? (ou a lista aceita qualquer valor) | ✅ Passa | ❌ Reporta o problema: valor não permitido |
Como se relacionam
Quando route_networks.txt existe, a ligação entre rotas e redes faz-se nesse ficheiro e o network_id de routes.txt não pode ser usado.
Exemplos
| network_id | route_networks.txt | Resultado | Porquê |
|---|---|---|---|
rede1 | Não existe | ✅ Passa | Campo permitido |
rede1 | Existe | ❌ Problema | Proibido com route_networks.txt |
rede2 (lista permitida = rede1) | Não existe | ❌ Problema | Valor fora da lista |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
network_id proibido com route_networks.txt | O feed tem route_networks.txt e routes.txt também tem network_id preenchido | Remover network_id de routes.txt e usar route_networks.txt para associar rotas a redes |
| Valor não permitido | O valor está fora da lista de valores permitidos da configuração da regra | Usar um valor da lista em network_id em routes.txt, ou pedir ao administrador que o adicione |
| Campo em falta | A configuração da regra exige ou recomenda este campo | Preencher network_id em routes.txt |
| Campo preenchido quando não devia | A configuração da regra define que este campo não deve ter valor | Remover o valor de network_id em routes.txt |