diff --git a/netstack/src/scheme/mod.rs b/netstack/src/scheme/mod.rs index 15f92ecd17..72cc54cf16 100644 --- a/netstack/src/scheme/mod.rs +++ b/netstack/src/scheme/mod.rs @@ -197,6 +197,7 @@ impl Smolnetd { Rc::clone(&socket_set), ip_forward, Rc::clone(&observer), + Rc::clone(&filter_table), )?, netfilter_scheme: NetFilterScheme::new( netfilter_file, diff --git a/netstack/src/scheme/netcfg/mod.rs b/netstack/src/scheme/netcfg/mod.rs index 95635146fb..47e93e7735 100644 --- a/netstack/src/scheme/netcfg/mod.rs +++ b/netstack/src/scheme/netcfg/mod.rs @@ -104,10 +104,11 @@ fn mk_root_node( socket_set: Rc>, ip_forward: Rc>, observer: ObserverRef, + filter_table: Rc>, ) -> CfgNodeRef { cfg_node! { "summary" => { - ro [devices, route_table, socket_set, ip_forward] || { + ro [devices, route_table, socket_set, ip_forward, filter_table] || { let mut out = String::new(); let devs = devices.borrow(); let eth0 = devs.get("eth0"); @@ -137,6 +138,8 @@ fn mk_root_node( s.rx_bytes, s.rx_packets, s.tx_bytes, s.tx_packets, s.rx_errors, s.tx_errors, s.rx_dropped, s.tx_dropped)); } + out.push_str("filter chains:\n"); + out.push_str(&filter_table.borrow().chain_summary()); out } }, @@ -804,6 +807,7 @@ impl NetCfgScheme { socket_set: Rc>, ip_forward: Rc>, observer: ObserverRef, + filter_table: Rc>, ) -> Result { let notifier = Notifier::new_ref(); let dns_config = Rc::new(RefCell::new(DNSConfig { @@ -822,6 +826,7 @@ impl NetCfgScheme { socket_set, ip_forward, observer, + filter_table, ), notifier, };