netlink_packet_route/rule/
error.rs

1// SPDX-License-Identifier: MIT
2
3use crate::route::RouteError;
4use netlink_packet_utils::nla::NlaError;
5use netlink_packet_utils::DecodeError;
6use thiserror::Error;
7
8#[derive(Debug, Error)]
9pub enum RuleError {
10    #[error("Invalid {kind}")]
11    InvalidValue { kind: &'static str, error: DecodeError },
12
13    #[error("Unknown NLA type: {kind}")]
14    UnknownNLA { kind: u16, error: DecodeError },
15
16    #[error(transparent)]
17    ParseNla(#[from] NlaError),
18
19    #[error(transparent)]
20    ParseFraFlow(#[from] RouteError),
21
22    #[error("Invalid rule uid range data, expecting {expected} u8 array, but got {got}")]
23    ParseUidRange { expected: usize, got: usize },
24
25    #[error("Invalid rule port range data, expecting {expected} u8 array, but got {got}")]
26    ParsePortRange { expected: usize, got: usize },
27}