Struct zettabgp::BgpSessionParams
source · pub struct BgpSessionParams {
pub as_num: u32,
pub hold_time: u16,
pub peer_mode: BgpTransportMode,
pub has_as32bit: bool,
pub router_id: Ipv4Addr,
pub caps: Vec<BgpCapability>,
pub fuzzy_pathid: bool,
}
Expand description
BGP session parameters - AS, hold time, capabilities etc.
Fields§
§as_num: u32
Autonomous system number.
hold_time: u16
Hold time in seconds.
peer_mode: BgpTransportMode
IP transport mode.
has_as32bit: bool
Flag that session has 32-bit AS numbers capability.
router_id: Ipv4Addr
Router ID.
caps: Vec<BgpCapability>
Capability set for this session.
fuzzy_pathid: bool
Try to detect pathid
Implementations§
source§impl BgpSessionParams
impl BgpSessionParams
pub fn new( asnum: u32, holdtime: u16, peermode: BgpTransportMode, routerid: Ipv4Addr, cps: Vec<BgpCapability> ) -> BgpSessionParams
sourcepub fn open_message(&self) -> BgpOpenMessage
pub fn open_message(&self) -> BgpOpenMessage
Constructs BGP OPEN message from params.
sourcepub fn check_caps(&mut self)
pub fn check_caps(&mut self)
Check capability set and validates has_as32bit flag.
sourcepub fn match_caps(&mut self, rcaps: &[BgpCapability])
pub fn match_caps(&mut self, rcaps: &[BgpCapability])
Match capability set
sourcepub fn find_addpath(&self, afi: u16, safi: u8) -> Option<&BgpCapAddPath>
pub fn find_addpath(&self, afi: u16, safi: u8) -> Option<&BgpCapAddPath>
Search for specified addpath capability.
sourcepub fn check_addpath_send(&self, afi: u16, safi: u8) -> bool
pub fn check_addpath_send(&self, afi: u16, safi: u8) -> bool
Search for specified addpath send capability.
sourcepub fn check_addpath_receive(&self, afi: u16, safi: u8) -> bool
pub fn check_addpath_receive(&self, afi: u16, safi: u8) -> bool
Search for specified addpath receive capability.
sourcepub fn check_capability(&self, cp: &BgpCapability) -> bool
pub fn check_capability(&self, cp: &BgpCapability) -> bool
Check for capability
sourcepub fn remove_capability(&mut self, cp: &BgpCapability)
pub fn remove_capability(&mut self, cp: &BgpCapability)
Remove capability
pub fn remove_capability_addpath(&mut self)
sourcepub fn decode_message_head(
&self,
buf: &[u8]
) -> Result<(BgpMessageType, usize), BgpError>
pub fn decode_message_head( &self, buf: &[u8] ) -> Result<(BgpMessageType, usize), BgpError>
Decode message head from buffer. Returns following message kind and length.
sourcepub fn recv_message_head(
&mut self,
rdsrc: &mut impl Read
) -> Result<(BgpMessageType, usize), BgpError>
pub fn recv_message_head( &mut self, rdsrc: &mut impl Read ) -> Result<(BgpMessageType, usize), BgpError>
Receive message head from buffer. Returns following message kind and length.
sourcepub fn prepare_message_buf(
&self,
buf: &mut [u8],
messagetype: BgpMessageType,
messagelen: usize
) -> Result<usize, BgpError>
pub fn prepare_message_buf( &self, buf: &mut [u8], messagetype: BgpMessageType, messagelen: usize ) -> Result<usize, BgpError>
Stores BGP message head (19 bytes) into the buffer.
sourcepub fn send_message_buf(
&mut self,
wrdst: &mut impl Write,
buf: &mut [u8],
messagetype: BgpMessageType,
messagelen: usize
) -> Result<(), BgpError>
pub fn send_message_buf( &mut self, wrdst: &mut impl Write, buf: &mut [u8], messagetype: BgpMessageType, messagelen: usize ) -> Result<(), BgpError>
Writes buffer with BGP message into the target.
Trait Implementations§
source§impl Clone for BgpSessionParams
impl Clone for BgpSessionParams
source§fn clone(&self) -> BgpSessionParams
fn clone(&self) -> BgpSessionParams
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more