Skip to content

Commit

Permalink
bgp: fix clippy warnings
Browse files Browse the repository at this point in the history
These are mostly "needless_borrow" warnings being fixed.

Signed-off-by: Renato Westphal <[email protected]>
  • Loading branch information
rwestphal committed Feb 21, 2024
1 parent 9f7094e commit d1f6c76
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 57 deletions.
27 changes: 13 additions & 14 deletions holo-bgp/src/events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ fn process_nbr_update(
rib,
reach.prefixes.clone(),
attrs,
&instance.shared,
instance.shared,
&instance.state.policy_apply_tasks,
);
} else {
Expand All @@ -192,7 +192,7 @@ fn process_nbr_update(
rib,
prefixes,
attrs,
&instance.shared,
instance.shared,
&instance.state.policy_apply_tasks,
);
}
Expand All @@ -208,7 +208,7 @@ fn process_nbr_update(
rib,
prefixes,
attrs,
&instance.shared,
instance.shared,
&instance.state.policy_apply_tasks,
);
}
Expand Down Expand Up @@ -248,7 +248,7 @@ fn process_nbr_update(
}

// Schedule the BGP Decision Process.
instance.state.schedule_decision_process(&instance.tx);
instance.state.schedule_decision_process(instance.tx);

Ok(())
}
Expand Down Expand Up @@ -467,7 +467,7 @@ where
}

// Schedule the BGP Decision Process.
instance.state.schedule_decision_process(&instance.tx);
instance.state.schedule_decision_process(instance.tx);

Ok(())
}
Expand Down Expand Up @@ -634,7 +634,7 @@ where
nbr,
table,
&reach,
&instance.shared,
instance.shared,
&instance.state.policy_apply_tasks,
);
}
Expand All @@ -652,7 +652,7 @@ fn withdraw_routes<A>(
{
// Update Adj-RIB-Out.
for prefix in routes {
let dest = table.prefixes.get_mut(&prefix).unwrap();
let dest = table.prefixes.get_mut(prefix).unwrap();
dest.adj_out_pre.remove(&nbr.remote_addr);
if dest.adj_out_post.remove(&nbr.remote_addr).is_some() {
let update_queue = A::update_queue(&mut nbr.update_queues);
Expand Down Expand Up @@ -682,20 +682,19 @@ pub(crate) fn advertise_routes<A>(
// peer, the receiving BGP speaker SHALL NOT re-distribute the
// routing information contained in that UPDATE message to other
// internal peers".
if route.route_type == RouteType::Internal {
if let RouteOrigin::Neighbor { remote_addr, .. } = &route.origin
&& *remote_addr == nbr.remote_addr
{
return false;
}
if route.route_type == RouteType::Internal
&& let RouteOrigin::Neighbor { remote_addr, .. } = &route.origin
&& *remote_addr == nbr.remote_addr
{
return false;
}

true
});

// Update pre-policy Adj-RIB-Out routes.
for (prefix, route) in routes.clone() {
let dest = table.prefixes.get_mut(&prefix).unwrap();
let dest = table.prefixes.get_mut(prefix).unwrap();
dest.adj_out_pre.insert(nbr.remote_addr, route.clone());
}

Expand Down
58 changes: 29 additions & 29 deletions holo-bgp/src/neighbor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ impl Neighbor {
fsm::State::Connect => match event {
fsm::Event::Start => None,
fsm::Event::Stop(_) => {
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
fsm::Event::Connected(stream, conn_info) => {
Expand All @@ -262,12 +262,12 @@ impl Neighbor {
Some(fsm::State::OpenSent)
}
fsm::Event::ConnFail => {
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
fsm::Event::RcvdError(error) => {
let msg = NotificationMsg::from(error);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
fsm::Event::Timer(fsm::Timer::ConnectRetry) => {
Expand All @@ -279,15 +279,15 @@ impl Neighbor {
}
_ => {
// FSM error.
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
},
// Active state
fsm::State::Active => match event {
fsm::Event::Start => None,
fsm::Event::Stop(_) => {
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
fsm::Event::Connected(stream, conn_info) => {
Expand All @@ -307,12 +307,12 @@ impl Neighbor {
Some(fsm::State::OpenSent)
}
fsm::Event::ConnFail => {
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
fsm::Event::RcvdError(error) => {
let msg = NotificationMsg::from(error);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
fsm::Event::Timer(fsm::Timer::ConnectRetry) => {
Expand All @@ -324,27 +324,27 @@ impl Neighbor {
}
_ => {
// FSM error.
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
},
// OpenSent state
fsm::State::OpenSent => match event {
fsm::Event::Start => None,
fsm::Event::Stop(msg) => {
self.session_close(rib, &instance.tx, msg);
self.session_close(rib, instance.tx, msg);
Some(fsm::State::Idle)
}
fsm::Event::ConnFail => {
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
self.connect_retry_start(
&instance.tx.protocol_input.nbr_timer,
);
Some(fsm::State::Active)
}
fsm::Event::RcvdError(error) => {
let msg = NotificationMsg::from(error);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
fsm::Event::RcvdOpen(msg) => {
Expand All @@ -355,7 +355,7 @@ impl Neighbor {
let error_code = ErrorCode::HoldTimerExpired;
let error_subcode = 0;
let msg = NotificationMsg::new(error_code, error_subcode);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
_ => {
Expand All @@ -364,32 +364,32 @@ impl Neighbor {
let error_subcode =
FsmErrorSubcode::UnexpectedMessageInOpenSent;
let msg = NotificationMsg::new(error_code, error_subcode);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
},
// OpenConfirm state
fsm::State::OpenConfirm => match event {
fsm::Event::Start => None,
fsm::Event::Stop(msg) => {
self.session_close(rib, &instance.tx, msg);
self.session_close(rib, instance.tx, msg);
Some(fsm::State::Idle)
}
fsm::Event::ConnFail => {
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
fsm::Event::RcvdError(error) => {
let msg = NotificationMsg::from(error);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
fsm::Event::RcvdOpen(_msg) => {
// TODO: collision detection
Some(fsm::State::Idle)
}
fsm::Event::RcvdNotif(_) => {
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
fsm::Event::RcvdKalive => {
Expand All @@ -400,7 +400,7 @@ impl Neighbor {
let error_code = ErrorCode::HoldTimerExpired;
let error_subcode = 0;
let msg = NotificationMsg::new(error_code, error_subcode);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
_ => {
Expand All @@ -409,28 +409,28 @@ impl Neighbor {
let error_subcode =
FsmErrorSubcode::UnexpectedMessageInOpenConfirm;
let msg = NotificationMsg::new(error_code, error_subcode);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
},
// Established state
fsm::State::Established => match event {
fsm::Event::Start => None,
fsm::Event::Stop(msg) => {
self.session_close(rib, &instance.tx, msg);
self.session_close(rib, instance.tx, msg);
Some(fsm::State::Idle)
}
fsm::Event::ConnFail => {
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
fsm::Event::RcvdError(error) => {
let msg = NotificationMsg::from(error);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
fsm::Event::RcvdNotif(_) => {
self.session_close(rib, &instance.tx, None);
self.session_close(rib, instance.tx, None);
Some(fsm::State::Idle)
}
fsm::Event::RcvdKalive | fsm::Event::RcvdUpdate => {
Expand All @@ -441,7 +441,7 @@ impl Neighbor {
let error_code = ErrorCode::HoldTimerExpired;
let error_subcode = 0;
let msg = NotificationMsg::new(error_code, error_subcode);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
_ => {
Expand All @@ -450,7 +450,7 @@ impl Neighbor {
let error_subcode =
FsmErrorSubcode::UnexpectedMessageInEstablished;
let msg = NotificationMsg::new(error_code, error_subcode);
self.session_close(rib, &instance.tx, Some(msg));
self.session_close(rib, instance.tx, Some(msg));
Some(fsm::State::Idle)
}
},
Expand Down Expand Up @@ -620,10 +620,10 @@ impl Neighbor {
// as they are sent all at once.
pub(crate) fn message_list_send(&mut self, msg_list: Vec<Message>) {
for msg in &msg_list {
Debug::NbrMsgTx(&self.remote_addr, &msg).log();
Debug::NbrMsgTx(&self.remote_addr, msg).log();

// Update statistics.
self.statistics.msgs_sent.update(&msg);
self.statistics.msgs_sent.update(msg);

// Keep track of the last sent notification.
if let Message::Notification(msg) = &msg {
Expand Down Expand Up @@ -709,7 +709,7 @@ impl Neighbor {
}
_ => None,
};
self.session_close(&mut instance.state.rib, &instance.tx, msg);
self.session_close(&mut instance.state.rib, instance.tx, msg);

// Transition to the Idle state.
return fsm::State::Idle;
Expand Down Expand Up @@ -892,7 +892,7 @@ impl Neighbor {
self,
table,
&routes,
&instance.shared,
instance.shared,
&instance.state.policy_apply_tasks,
);
}
Expand Down
2 changes: 1 addition & 1 deletion holo-bgp/src/packet/attribute.rs
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,7 @@ impl AsPath {
.iter()
.map(|segment| match segment.seg_type {
AsPathSegmentType::Set => 1,
AsPathSegmentType::Sequence => segment.members.iter().count(),
AsPathSegmentType::Sequence => segment.members.len(),
// RFC 5065 - Section 5.3:
// "When comparing routes using AS_PATH length, CONFED_SEQUENCE
// and CONFED_SETs SHOULD NOT be counted".
Expand Down
Loading

0 comments on commit d1f6c76

Please sign in to comment.