Skip to content

Commit 773a9f6

Browse files
committed
Do not re-export AfiSafiType as AfiSafi in bgp::types
1 parent 6adb040 commit 773a9f6

File tree

8 files changed

+106
-123
lines changed

8 files changed

+106
-123
lines changed

src/bgp/fsm/session.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use crate::bgp::message::open::{Capability, OpenBuilder};
1515
use crate::bgp::message::{
1616
Message as BgpMsg, NotificationMessage, SessionConfig, UpdateMessage,
1717
};
18-
use crate::bgp::types::{AddpathDirection, AddpathFamDir, AfiSafi};
18+
use crate::bgp::types::{AddpathDirection, AddpathFamDir, AfiSafiType};
1919
use crate::bgp::ParseError;
2020
use inetnum::asn::Asn;
2121
use log::{debug, error, info, warn};
@@ -1947,8 +1947,8 @@ pub trait BgpConfig {
19471947
fn hold_time(&self) -> Option<u16>;
19481948
fn is_exact(&self) -> bool;
19491949

1950-
fn protocols(&self) -> Vec<AfiSafi>;
1951-
fn addpath(&self) -> Vec<AfiSafi>;
1950+
fn protocols(&self) -> Vec<AfiSafiType>;
1951+
fn addpath(&self) -> Vec<AfiSafiType>;
19521952
}
19531953

19541954
//------------ BasicConfig ---------------------------------------------------
@@ -2016,11 +2016,11 @@ impl BgpConfig for BasicConfig {
20162016
true
20172017
}
20182018

2019-
fn protocols(&self) -> Vec<AfiSafi> {
2020-
vec![AfiSafi::Ipv4Unicast, AfiSafi::Ipv6Unicast]
2019+
fn protocols(&self) -> Vec<AfiSafiType> {
2020+
vec![AfiSafiType::Ipv4Unicast, AfiSafiType::Ipv6Unicast]
20212021
}
20222022

2023-
fn addpath(&self) -> Vec<AfiSafi> {
2023+
fn addpath(&self) -> Vec<AfiSafiType> {
20242024
vec![]
20252025
}
20262026
}

src/bgp/message/open.rs

+37-55
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::bgp::message::{Header, MsgType};
22
use inetnum::asn::Asn;
3-
use crate::bgp::types::{AfiSafi, AddpathFamDir, AddpathDirection};
3+
use crate::bgp::types::{AfiSafiType, AddpathFamDir, AddpathDirection};
44
use crate::typeenum; // from util::macros
55
use crate::util::parser::ParseError;
66
use log::warn;
@@ -173,26 +173,8 @@ impl<Octs: Octets> OpenMessage<Octs> {
173173
)
174174
}
175175

176-
/*
177-
pub fn addpath_families(&self) -> impl Iterator<Item = (AfiSafi, AddpathDirection)> + '_ {
178-
self.capabilities().filter(|c|
179-
c.typ() == CapabilityType::AddPath
180-
).map(|c| {
181-
&c.value().chunks(4)
182-
.map(|c| {
183-
let mut parser = Parser::from_ref(c);
184-
185-
let afi = parser.parse_u16_be().unwrap().into();
186-
let safi = parser.parse_u8().unwrap().into();
187-
let dir = AddpathDirection::try_from(parser.parse_u8().unwrap());
188-
(AfiSafi::try_from((afi, safi)).unwrap(), dir.unwrap())
189-
})
190-
}).flatten().into_iter()
191-
}
192-
*/
193-
194176
pub fn addpath_families_vec(&self)
195-
-> Result<Vec<(AfiSafi, AddpathDirection)>, ParseError>
177+
-> Result<Vec<(AfiSafiType, AddpathDirection)>, ParseError>
196178
{
197179
let mut res = vec![];
198180
for c in self.capabilities().filter(|c|
@@ -205,7 +187,7 @@ impl<Octs: Octets> OpenMessage<Octs> {
205187
let safi = parser.parse_u8()?;
206188
let dir = AddpathDirection::try_from(parser.parse_u8()?)
207189
.map_err(|_| ParseError::Unsupported)?;
208-
res.push((AfiSafi::from((afi, safi)), dir));
190+
res.push((AfiSafiType::from((afi, safi)), dir));
209191
}
210192
}
211193
Ok(res)
@@ -238,9 +220,9 @@ impl<Octs: Octets> OpenMessage<Octs> {
238220
}).collect::<Vec<_>>()
239221
}
240222

241-
/// Returns an iterator over `AfiSafi`s listed as MultiProtocol
223+
/// Returns an iterator over `AfiSafiType`s listed as MultiProtocol
242224
/// Capabilities in the Optional Parameters of this message.
243-
pub fn multiprotocol_ids(&self) -> impl Iterator<Item = AfiSafi> + '_ {
225+
pub fn multiprotocol_ids(&self) -> impl Iterator<Item = AfiSafiType> + '_ {
244226
self.capabilities().filter(|c|
245227
c.typ() == CapabilityType::MultiProtocol
246228
).map(|mp_cap| {
@@ -747,7 +729,7 @@ typeenum!(
747729
pub struct OpenBuilder<Target> {
748730
target: Target,
749731
capabilities: Vec<Capability<Vec<u8>>>,
750-
addpath_families: Vec<(AfiSafi, AddpathDirection)>,
732+
addpath_families: Vec<(AfiSafiType, AddpathDirection)>,
751733
}
752734

753735
use core::convert::Infallible;
@@ -815,7 +797,7 @@ impl<Target: OctetsBuilder + AsMut<[u8]>> OpenBuilder<Target> {
815797
self.add_capability(Capability::for_slice(s.to_vec()));
816798
}
817799

818-
pub fn add_mp(&mut self, afisafi: AfiSafi) {
800+
pub fn add_mp(&mut self, afisafi: AfiSafiType) {
819801
// code 1
820802
// length n
821803
// 2 bytes AFI, rsrvd byte, 1 byte SAFI
@@ -828,7 +810,7 @@ impl<Target: OctetsBuilder + AsMut<[u8]>> OpenBuilder<Target> {
828810
self.add_capability(Capability::<Vec<u8>>::for_slice(s));
829811
}
830812

831-
pub fn add_addpath(&mut self, afisafi: AfiSafi, dir: AddpathDirection) {
813+
pub fn add_addpath(&mut self, afisafi: AfiSafiType, dir: AddpathDirection) {
832814
self.addpath_families.push((afisafi, dir));
833815
}
834816
}
@@ -1041,23 +1023,23 @@ mod tests {
10411023

10421024
assert_eq!(open.multiprotocol_ids().count(), 15);
10431025
let protocols = [
1044-
AfiSafi::Ipv4Unicast,
1045-
AfiSafi::Ipv4Multicast,
1046-
AfiSafi::Ipv4MplsUnicast,
1047-
AfiSafi::Ipv4MplsVpnUnicast,
1048-
AfiSafi::Ipv4RouteTarget,
1049-
AfiSafi::Ipv4FlowSpec,
1050-
//AfiSafi::Ipv4FlowSpecVpn,
1051-
AfiSafi::Unsupported(1, 134),
1052-
AfiSafi::Ipv6Unicast,
1053-
AfiSafi::Ipv6Multicast,
1054-
AfiSafi::Ipv6MplsUnicast,
1055-
AfiSafi::Ipv6MplsVpnUnicast,
1056-
AfiSafi::Ipv6FlowSpec,
1057-
//AfiSafi::Ipv6FlowSpecVpn,
1058-
AfiSafi::Unsupported(2, 134),
1059-
AfiSafi::L2VpnVpls,
1060-
AfiSafi::L2VpnEvpn,
1026+
AfiSafiType::Ipv4Unicast,
1027+
AfiSafiType::Ipv4Multicast,
1028+
AfiSafiType::Ipv4MplsUnicast,
1029+
AfiSafiType::Ipv4MplsVpnUnicast,
1030+
AfiSafiType::Ipv4RouteTarget,
1031+
AfiSafiType::Ipv4FlowSpec,
1032+
//AfiSafiType::Ipv4FlowSpecVpn,
1033+
AfiSafiType::Unsupported(1, 134),
1034+
AfiSafiType::Ipv6Unicast,
1035+
AfiSafiType::Ipv6Multicast,
1036+
AfiSafiType::Ipv6MplsUnicast,
1037+
AfiSafiType::Ipv6MplsVpnUnicast,
1038+
AfiSafiType::Ipv6FlowSpec,
1039+
//AfiSafiType::Ipv6FlowSpecVpn,
1040+
AfiSafiType::Unsupported(2, 134),
1041+
AfiSafiType::L2VpnVpls,
1042+
AfiSafiType::L2VpnEvpn,
10611043
];
10621044

10631045
for (id, protocol) in open.multiprotocol_ids().zip(
@@ -1086,8 +1068,8 @@ mod tests {
10861068

10871069
assert_eq!(open.capabilities().count(), 1);
10881070
assert!(open.addpath_families_vec().unwrap().iter().eq(
1089-
&[(AfiSafi::Ipv4Unicast, AddpathDirection::SendReceive),
1090-
(AfiSafi::Ipv6Unicast, AddpathDirection::SendReceive)]
1071+
&[(AfiSafiType::Ipv4Unicast, AddpathDirection::SendReceive),
1072+
(AfiSafiType::Ipv6Unicast, AddpathDirection::SendReceive)]
10911073
)
10921074
);
10931075
}
@@ -1111,8 +1093,8 @@ mod tests {
11111093

11121094
assert_eq!(open.capabilities().count(), 2);
11131095
assert!(open.addpath_families_vec().unwrap().iter().eq(
1114-
&[(AfiSafi::Ipv4Unicast, AddpathDirection::SendReceive),
1115-
(AfiSafi::Ipv6Unicast, AddpathDirection::SendReceive)]
1096+
&[(AfiSafiType::Ipv4Unicast, AddpathDirection::SendReceive),
1097+
(AfiSafiType::Ipv6Unicast, AddpathDirection::SendReceive)]
11161098
)
11171099
);
11181100
}
@@ -1127,8 +1109,8 @@ mod builder {
11271109
open.set_holdtime(180);
11281110
open.set_bgp_id([1, 2, 3, 4]);
11291111

1130-
open.add_mp(AfiSafi::Ipv4Unicast);
1131-
open.add_mp(AfiSafi::Ipv6Unicast);
1112+
open.add_mp(AfiSafiType::Ipv4Unicast);
1113+
open.add_mp(AfiSafiType::Ipv6Unicast);
11321114

11331115
let res = open.into_message();
11341116

@@ -1142,8 +1124,8 @@ mod builder {
11421124
open.set_holdtime(180);
11431125
open.set_bgp_id([1, 2, 3, 4]);
11441126

1145-
open.add_mp(AfiSafi::Ipv4Unicast);
1146-
open.add_mp(AfiSafi::Ipv6Unicast);
1127+
open.add_mp(AfiSafiType::Ipv4Unicast);
1128+
open.add_mp(AfiSafiType::Ipv6Unicast);
11471129

11481130
let res = open.into_message();
11491131

@@ -1157,10 +1139,10 @@ mod builder {
11571139
open.set_holdtime(180);
11581140
open.set_bgp_id([1, 2, 3, 4]);
11591141

1160-
open.add_mp(AfiSafi::Ipv4Unicast);
1161-
open.add_mp(AfiSafi::Ipv6Unicast);
1162-
open.add_addpath(AfiSafi::Ipv4Unicast, AddpathDirection::SendReceive);
1163-
open.add_addpath(AfiSafi::Ipv6Unicast, AddpathDirection::SendReceive);
1142+
open.add_mp(AfiSafiType::Ipv4Unicast);
1143+
open.add_mp(AfiSafiType::Ipv6Unicast);
1144+
open.add_addpath(AfiSafiType::Ipv4Unicast, AddpathDirection::SendReceive);
1145+
open.add_addpath(AfiSafiType::Ipv6Unicast, AddpathDirection::SendReceive);
11641146

11651147
let res = open.into_message();
11661148

src/bgp/message/routerefresh.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
use octseq::{Octets, Parser};
22

33
use crate::bgp::message::Header;
4-
use crate::bgp::types::{Afi, AfiSafi, RouteRefreshSubtype};
4+
use crate::bgp::types::{Afi, AfiSafiType, RouteRefreshSubtype};
55
use crate::util::parser::ParseError;
66

77
/// BGP RouteRefresh message, variant of the [`Message`] enum.
88
#[derive(Clone, Debug)]
99
pub struct RouteRefreshMessage<Octets> {
1010
octets: Octets,
11-
afisafi: AfiSafi,
11+
afisafi: AfiSafiType,
1212
subtype: RouteRefreshSubtype,
1313
}
1414

@@ -43,7 +43,7 @@ impl<Octs> RouteRefreshMessage<Octs> {
4343
}
4444

4545
/// Returns the `AfiSafi` for this Route Refresh message.
46-
pub fn afisafi(&self) -> AfiSafi {
46+
pub fn afisafi(&self) -> AfiSafiType {
4747
self.afisafi
4848
}
4949

@@ -86,7 +86,7 @@ mod tests {
8686
];
8787

8888
let rr = RouteRefreshMessage::from_octets(&raw).unwrap();
89-
assert_eq!(rr.afisafi(), AfiSafi::Ipv4Unicast);
89+
assert_eq!(rr.afisafi(), AfiSafiType::Ipv4Unicast);
9090
assert_eq!(rr.subtype(), RouteRefreshSubtype::Begin);
9191

9292
}

0 commit comments

Comments
 (0)