mirror of
https://git.proxmox.com/git/proxmox-ve-rs
synced 2025-10-04 02:47:33 +00:00
ipset: add range variant to addresses
A range can be used to store multiple IP addresses in an ipset that do not neatly fit into a single CIDR. Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
This commit is contained in:
parent
5f912fe12c
commit
f216176d72
@ -6,7 +6,7 @@ use anyhow::{bail, format_err, Error};
|
||||
use serde_with::DeserializeFromStr;
|
||||
|
||||
use crate::firewall::parse::match_non_whitespace;
|
||||
use crate::firewall::types::address::Cidr;
|
||||
use crate::firewall::types::address::{Cidr, IpRange};
|
||||
use crate::firewall::types::alias::AliasName;
|
||||
use crate::guest::vm::NetworkConfig;
|
||||
|
||||
@ -93,6 +93,7 @@ impl Display for IpsetName {
|
||||
pub enum IpsetAddress {
|
||||
Alias(AliasName),
|
||||
Cidr(Cidr),
|
||||
Range(IpRange),
|
||||
}
|
||||
|
||||
impl FromStr for IpsetAddress {
|
||||
@ -117,6 +118,12 @@ impl<T: Into<Cidr>> From<T> for IpsetAddress {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<IpRange> for IpsetAddress {
|
||||
fn from(range: IpRange) -> Self {
|
||||
IpsetAddress::Range(range)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
#[cfg_attr(test, derive(Eq, PartialEq))]
|
||||
pub struct IpsetEntry {
|
||||
|
Loading…
Reference in New Issue
Block a user