1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use std::collections::BTreeMap;

use anyhow::{bail, Context, Error, Result};
use common_regex::{set::*, *};
use ipnet::IpNet;
use rayon::prelude::*;
use serde::{Deserialize, Serialize};

pub mod address_prefix;
pub mod aut_num;
pub mod aut_sys;
pub mod filter;
pub mod intermediate_repr;
pub mod mp_import;
pub mod peering;
pub mod router_expr;
pub mod set;
#[cfg(test)]
mod tests;

pub use {
    address_prefix::{match_ips, AddrPfxRange, RangeOperator},
    aut_num::AutNum,
    aut_sys::{is_as_set, is_pseudo_set, parse_as_name, parse_aut_num_name, AsName},
    filter::{is_any, is_filter_set, Filter},
    intermediate_repr::{merge_irs, Ir},
    mp_import::{Casts, Entry, Versions},
    peering::{is_peering_set, parse_single_as_expr, AsExpr, Peering, PeeringAction},
    router_expr::{parse_simple_router_expr, RouterExpr},
    set::{is_route_set_name, AsSet, FilterSet, PeeringSet, RouteSet, RouteSetMember},
    shared_struct::{action::*, community::Call, stats::Counts},
};