Red Bear OS
89083a25f9
netcfg: UDP socket listing + routes/count node
...
- UDP sockets now enumerated in /scheme/netcfg/sockets/list:
udp: local=0.0.0.0:53
udp: local=127.0.0.1:8080
- New RouteTable::len() method + /scheme/netcfg/route/count:
cat /scheme/netcfg/route/count → 'routes: 4'
Complete connections view now covers TCP + UDP listening sockets,
plus route count summary for at-a-glance monitoring.
2026-07-08 18:19:42 +03:00
Red Bear OS
98c43529e7
cleanup: fix unused variable + unnecessary mut warnings (7 total)
...
- router/mod.rs: 4x |mut b| → |b| (&mut [u8] is already mutable)
- scheme/icmp.rs: handle_recvmsg stub params → _file, _how, _flags
- scheme/ip.rs: handle_recvmsg stub params → _file, _how, _flags
- scheme/socket.rs: get_sock_opt default + msg_send ctx → _ prefixed
- scheme/tun.rs: loop name → _name
2026-07-08 16:38:48 +03:00
Red Bear OS
e185e03d88
observer: add BPF-style filter + output path capture
...
Capture filter supports tcpdump-like expressions:
echo tcp > /scheme/netcfg/capture/filter
echo udp port 53 > /scheme/netcfg/capture/filter
echo icmp > /scheme/netcfg/capture/filter
echo tcp port 80 > /scheme/netcfg/capture/filter
cat /scheme/netcfg/capture/filter → reads current filter
Filter matches IP header protocol field + TCP/UDP port fields.
Parses IPv4 and IPv6 headers. Non-IP packets captured always.
Output path capture: dispatch() now captures packets going
to devices (outbound locally-generated traffic).
Full capture coverage: input (forward_packets) + output (dispatch).
2026-07-08 16:30:13 +03:00
Red Bear OS
c1eb0b3db0
observer: wire into forwarding/output paths for live capture
...
Router now captures packets flowing through the network stack:
- forward_packets(): capture all forwarded/local-delivered packets
- Observer injected via Router::new() from Smolnetd constructor
When /scheme/netcfg/capture/enable is written, all packets
traversing the router are captured into the ring buffer.
When disabled, zero overhead (AtomicBool check).
2026-07-08 16:25:50 +03:00
Red Bear OS
ba5a7cd3fc
sysctl: add /scheme/netcfg/sysctl tree with ip_forward toggle
...
Router gains Rc<Cell<bool>> ip_forward flag (default: true).
When false, forward_packets() returns immediately — no packets forwarded
between interfaces. Security best practice for non-router hosts.
netcfg scheme gains sysctl subtree:
/scheme/netcfg/sysctl/net/ipv4/ip_forward (rw: 0 or 1)
Read: echo /scheme/netcfg/sysctl/net/ipv4/ip_forward → 1
Write: echo 0 > /scheme/netcfg/sysctl/net/ipv4/ip_forward (disable)
Restore: echo 1 > /scheme/netcfg/sysctl/net/ipv4/ip_forward
Mirrors Linux /proc/sys/net/ipv4/ip_forward.
Shared via Rc<Cell<bool>> between Router and NetCfgScheme.
2026-07-08 15:20:21 +03:00
Red Bear OS
25d6decc85
route: add route types — blackhole, unreachable, prohibit
...
RouteTable Rule gains route_type: RouteType field:
- Unicast (default): normal forwarding
- Blackhole: silently drop, no ICMP error
- Unreachable: drop + send ICMP Destination Unreachable
- Prohibit: drop + send ICMP Administratively Prohibited
Route type checked in all forwarding/outbound paths:
- Forward path (IPv4): blackhole/unreachable/prohibit drop + error
- Output path (IPv4): blackhole/unreachable/prohibit drop + error
- Output path (IPv6): blackhole/unreachable/prohibit drop
Usage: Rule::with_type(cidr, via, dev, src, RouteType::Blackhole)
Existing Rule::new() creates Unicast routes (backward compatible).
Display: blackhole/unreachable/prohibit prefixed in route list output.
Mirrors Linux iproute2 'ip route add blackhole 10.0.0.0/8'.
2026-07-08 15:02:40 +03:00
Red Bear OS
bb3e36e4e0
restore: networking stack files from reflog (Phases 1-6)
...
Recovered from reflog commits 1c80937e and d0ecc067 after force-push data loss.
Includes: filter/, icmp_error.rs, slaac.rs, bond.rs, bridge.rs, gre.rs, ipip.rs,
qdisc.rs, tun.rs, vlan.rs, vxlan.rs, netfilter.rs, tun.rs, conntrack.rs, nat.rs,
rule.rs, table.rs, redbear-ufw/, dhcpv6d/, netdiag/ — 39 files total.
2026-07-08 13:27:49 +03:00
Red Bear OS
dd08b76a39
Red Bear OS base baseline from 0.1.0 pre-patched archive
2026-06-27 09:21:43 +03:00