20260605 ROA增量验证和rsync host失败短路
This commit is contained in:
@@ -3,7 +3,9 @@ use crate::audit::PublicationPointAudit;
|
||||
use crate::data_model::rc::{AsResourceSet, IpResourceSet};
|
||||
use crate::report::Warning;
|
||||
use crate::validation::manifest::PublicationPointSource;
|
||||
use crate::validation::objects::{AspaAttestation, ObjectsOutput, RouterKeyPayload, Vrp};
|
||||
use crate::validation::objects::{
|
||||
AspaAttestation, ObjectsOutput, RoaValidationCacheStats, RouterKeyPayload, Vrp,
|
||||
};
|
||||
use crate::validation::publication_point::PublicationPointSnapshot;
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
@@ -18,6 +20,8 @@ pub struct TreeRunConfig {
|
||||
pub persist_vcir: bool,
|
||||
/// Build online CCR manifest projections during phase2 validation.
|
||||
pub build_ccr_accumulator: bool,
|
||||
/// Reuse accepted ROA validation outputs from previous VCIR when explicitly enabled.
|
||||
pub enable_roa_validation_cache: bool,
|
||||
}
|
||||
|
||||
impl Default for TreeRunConfig {
|
||||
@@ -28,6 +32,7 @@ impl Default for TreeRunConfig {
|
||||
compact_audit: false,
|
||||
persist_vcir: true,
|
||||
build_ccr_accumulator: true,
|
||||
enable_roa_validation_cache: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -117,6 +122,7 @@ pub trait PublicationPointRunner {
|
||||
pub struct TreeRunAuditOutput {
|
||||
pub tree: TreeRunOutput,
|
||||
pub publication_points: Vec<PublicationPointAudit>,
|
||||
pub roa_cache_stats: RoaValidationCacheStats,
|
||||
}
|
||||
|
||||
pub fn run_tree_serial(
|
||||
@@ -169,6 +175,7 @@ pub fn run_tree_serial_audit_multi_root(
|
||||
let mut aspas: Vec<AspaAttestation> = Vec::new();
|
||||
let mut router_keys: Vec<RouterKeyPayload> = Vec::new();
|
||||
let mut publication_points: Vec<PublicationPointAudit> = Vec::new();
|
||||
let mut roa_cache_stats = RoaValidationCacheStats::default();
|
||||
|
||||
while let Some(node) = queue.pop_front() {
|
||||
let ca = &node.handle;
|
||||
@@ -203,6 +210,7 @@ pub fn run_tree_serial_audit_multi_root(
|
||||
instances_processed += 1;
|
||||
warnings.extend(res.warnings);
|
||||
warnings.extend(res.objects.warnings);
|
||||
roa_cache_stats.add_assign(&res.objects.roa_cache_stats);
|
||||
vrps.extend(res.objects.vrps);
|
||||
aspas.extend(res.objects.aspas);
|
||||
router_keys.extend(res.objects.router_keys);
|
||||
@@ -255,6 +263,7 @@ pub fn run_tree_serial_audit_multi_root(
|
||||
router_keys,
|
||||
},
|
||||
publication_points,
|
||||
roa_cache_stats,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -338,6 +347,7 @@ mod tests {
|
||||
warnings: Vec::new(),
|
||||
stats: ObjectsStats::default(),
|
||||
audit: Vec::new(),
|
||||
roa_cache_stats: crate::validation::objects::RoaValidationCacheStats::default(),
|
||||
},
|
||||
audit: PublicationPointAudit::default(),
|
||||
discovered_children: children,
|
||||
|
||||
Reference in New Issue
Block a user