Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Miyoshi-Ryota/mrbgpdv2
/ functions
Functions
74 in github.com/Miyoshi-Ryota/mrbgpdv2
⨍
Functions
74
◇
Types & classes
31
↓ 14 callers
Method
push
(&mut self, as_path: AutonomousSystemNumber)
src/path_attribute.rs:235
↓ 11 callers
Method
next
(&mut self)
src/peer.rs:57
↓ 10 callers
Method
insert
(&mut self, entry: Arc<RibEntry>)
src/routing.rs:174
↓ 9 callers
Method
enqueue
(&mut self, event: Event)
src/event_queue.rs:12
↓ 9 callers
Method
start
(&mut self)
src/peer.rs:51
↓ 4 callers
Method
routes
(&self)
src/routing.rs:184
↓ 3 callers
Method
bytes_len
(&self)
src/routing.rs:75
↓ 3 callers
Method
does_contain_new_route
(&self)
src/routing.rs:188
↓ 3 callers
Method
send
(&mut self, message: Message)
src/connection.rs:33
↓ 3 callers
Method
update_to_all_unchanged
(&mut self)
src/routing.rs:178
↓ 2 callers
Method
does_contain_as
(&self, as_number: AutonomousSystemNumber)
src/routing.rs:425
↓ 2 callers
Method
install_from_loc_rib
LocRibから必要なルートをインストールする。 この時、Remote AS番号が含まれているルートはインストールしない。
src/routing.rs:328
↓ 1 callers
Method
add
(&mut self, as_number: AutonomousSystemNumber)
src/path_attribute.rs:281
↓ 1 callers
Method
bytes_len
(&self)
src/path_attribute.rs:18
↓ 1 callers
Method
create_update_messages
AdjRibOutからUpdateMessageに変換する。 PathAttributeごとにUpdateMessageが分かれるためVec<UpdateMessage>の戻り値にしている。
src/routing.rs:337
↓ 1 callers
Method
dequeue
(&mut self)
src/event_queue.rs:16
↓ 1 callers
Method
does_contain
(&self, as_path: AutonomousSystemNumber)
src/path_attribute.rs:228
↓ 1 callers
Method
get_index_of_message_separator
self.bufferのうちどこまでが1つのbgp messageを表すbytesであるか返す。
src/connection.rs:60
↓ 1 callers
Method
get_message
bgp messageを1つ以上受信していれば 最古に受信したMessageをSome<Message>として返す。 bgp messageのデータの受信中(半端に受信している)、 ないしは何も受信していない場合はNoneを返す。
src/connection.rs:42
↓ 1 callers
Method
handle_event
(&mut self, event: Event)
src/peer.rs:86
↓ 1 callers
Method
handle_message
(&mut self, message: Message)
src/peer.rs:71
↓ 1 callers
Method
install_from_adj_rib_in
AdjRibInから必要なルートをインストールする。 この時、自ASが含まれているルートはインストールしない。 参考: 9.1.2. Phase 2: Route Selection in RFC4271.
src/routing.rs:271
↓ 1 callers
Method
install_from_update
( &mut self, update: UpdateMessage, config: &Config, )
src/routing.rs:400
↓ 1 callers
Method
read_data_from_tcp_connection
(&mut self)
src/connection.rs:71
↓ 1 callers
Method
split_buffer_at_message_separator
self.bufferから1つのbgp messageを表すbyteを切り出す。
src/connection.rs:49
↓ 1 callers
Method
write_to_kernel_routing_table
(&self)
src/routing.rs:281
Method
connect
( config: &Config, )
src/connection.rs:20
Method
connect_to_remote_peer
(config: &Config)
src/connection.rs:89
Function
convert_bytes_to_header_and_header_to_bytes
()
src/packets/header.rs:81
Function
convert_bytes_to_open_message_and_open_message_to_bytes
()
src/packets/open.rs:99
Function
convert_bytes_to_update_message_and_update_message_to_bytes
()
src/packets/update.rs:185
Method
default
()
src/bgp_type.rs:36
Method
default
()
src/packets/keepalive.rs:41
Method
deref
(&self)
src/routing.rs:26
Method
deref_mut
(&mut self)
src/routing.rs:32
Method
from
(ip_network: ipnetwork::Ipv4Network)
src/routing.rs:38
Method
from
(as_number: AutonomousSystemNumber)
src/bgp_type.rs:9
Method
from
(p: &PathAttribute)
src/path_attribute.rs:85
Method
from
(keepalive: KeepaliveMessage)
src/packets/keepalive.rs:28
Method
from
(header: Header)
src/packets/header.rs:30
Method
from
(message: UpdateMessage)
src/packets/update.rs:71
Method
from
(message: OpenMessage)
src/packets/open.rs:79
Method
from
(message: Message)
src/packets/message.rs:51
Method
from_str
(s: &str)
src/config.rs:26
Method
from_str
(s: &str)
src/routing.rs:66
Method
from_u8_slice
本来、From Traitを実装するべきだと思うけれど、 Vec<..>に実装するのが、New Type Patternが必要になり 大変なので変な関連関数を追加することで対応した。
src/routing.rs:101
Method
from_u8_slice
( bytes: &[u8], )
src/path_attribute.rs:36
Function
loc_rib_to_adj_rib_out
()
src/routing.rs:455
Function
loclib_can_lookup_routing_table
()
src/routing.rs:441
Method
lookup_kernel_routing_table
( network_address: Ipv4Network, )
src/routing.rs:243
Function
main
()
src/main.rs:12
Method
new
(config: Config, loc_rib: Arc<Mutex<LocRib>>)
src/peer.rs:34
Method
new
( addr: Ipv4Addr, prefix: u8, )
src/routing.rs:86
Method
new
()
src/bgp_type.rs:42
Method
new
()
src/event_queue.rs:8
Method
new
()
src/packets/keepalive.rs:34
Method
new
(length: u16, type_: MessageType)
src/packets/header.rs:13
Method
new
( path_attributes: Arc<Vec<PathAttribute>>, network_layer_reachability_information: Vec<Ipv4Ne
src/packets/update.rs:31
Method
new
( my_as_number: AutonomousSystemNumber, my_ip_addr: Ipv4Addr, )
src/packets/open.rs:23
Method
new_keepalive
()
src/packets/message.rs:68
Method
new_open
( my_as_number: AutonomousSystemNumber, my_ip_addr: Ipv4Addr, )
src/packets/message.rs:61
Function
peer_can_transition_to_connect_state
()
src/peer.rs:227
Function
peer_can_transition_to_established_state
()
src/peer.rs:330
Function
peer_can_transition_to_open_confirm_state
()
src/peer.rs:287
Function
peer_can_transition_to_open_sent_state
()
src/peer.rs:256
Method
try_from
(v: u8)
src/bgp_type.rs:59
Method
try_from
(value: u8)
src/path_attribute.rs:164
Method
try_from
(bytes: BytesMut)
src/packets/keepalive.rs:15
Method
try_from
(bytes: BytesMut)
src/packets/header.rs:21
Method
try_from
(bytes: BytesMut)
src/packets/update.rs:96
Method
try_from
(bytes: BytesMut)
src/packets/open.rs:43
Method
try_from
(bytes: BytesMut)
src/packets/message.rs:24
Function
update_message_from_adj_rib_out
()
src/packets/update.rs:144
Method
wait_connection_from_remote_peer
( config: &Config, )
src/connection.rs:99