Round 292: TC ext, IP Rule ext, IP Route ext, IP Link ext, Bridge ext (20 commands)
ober
39409c69b402eda99ce057d2789d41d14b85bca7
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 292 — TC ext, IP Rule ext, IP Route ext, IP Link ext, Bridge ext + +| Command | Status | Description | +|---------|--------|-------------| +| tc-qdisc-list | :orange_circle: | List TC qdiscs | +| tc-qdisc-add | :orange_circle: | Add TC qdisc | +| tc-class-list | :orange_circle: | List TC classes | +| tc-class-add | :orange_circle: | Add TC class | +| tc-filter-list | :orange_circle: | List TC filters | +| tc-filter-add | :orange_circle: | Add TC filter | +| ip-rule-list | :orange_circle: | List IP rules | +| ip-rule-add | :orange_circle: | Add IP rule | +| ip-route-show | :orange_circle: | Show IP routes | +| ip-route-add | :orange_circle: | Add IP route | +| ip-neigh-list | :orange_circle: | List IP neighbors | +| ip-neigh-flush | :orange_circle: | Flush neighbor cache | +| ip-link-show | :orange_circle: | Show network links | +| ip-link-set | :orange_circle: | Set link properties | +| ip-addr-show | :orange_circle: | Show IP addresses | +| ip-addr-add | :orange_circle: | Add IP address | +| bridge-list | :orange_circle: | List bridges | +| bridge-add | :orange_circle: | Create bridge | +| bridge-fdb | :orange_circle: | Show bridge FDB | +| bridge-vlan | :orange_circle: | Show bridge VLANs | + ### Round 291 — SMART ext, Hdparm ext, Blkid ext, Fdisk ext, Mkfs ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -22489,4 +22489,52 @@ (let* ((echo (app-state-echo app))) (echo-read-string echo "Device: " (lambda (dev) - (echo-message! echo (str "Tune2fs: info for " dev)))))) \ No newline at end of file + (echo-message! echo (str "Tune2fs: info for " dev)))))) + +;;; Round 292 — IP Link ext, Bridge ext (batch 2) + +(def (cmd-ip-neigh-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IP: listing neighbors"))) + +(def (cmd-ip-neigh-flush app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IP: flushing neighbor cache"))) + +(def (cmd-ip-link-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IP: showing links"))) + +(def (cmd-ip-link-set app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Interface: " + (lambda (iface) + (echo-message! echo (str "IP: setting link " iface)))))) + +(def (cmd-ip-addr-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IP: showing addresses"))) + +(def (cmd-ip-addr-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Address/interface: " + (lambda (addr) + (echo-message! echo (str "IP: adding address " addr)))))) + +(def (cmd-bridge-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Bridge: listing bridges"))) + +(def (cmd-bridge-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Bridge name: " + (lambda (name) + (echo-message! echo (str "Bridge: creating " name)))))) + +(def (cmd-bridge-fdb app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Bridge: showing FDB entries"))) + +(def (cmd-bridge-vlan app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Bridge: showing VLAN entries"))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -23178,3 +23178,55 @@ (lambda (dev) (echo-message! echo (str "Blkid: info for " dev)))))) +;;; Round 292 — TC ext, IP Rule ext, IP Route ext (batch 1) + +(def (cmd-tc-qdisc-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "TC: listing qdiscs"))) + +(def (cmd-tc-qdisc-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Interface: " + (lambda (iface) + (echo-message! echo (str "TC: adding qdisc on " iface)))))) + +(def (cmd-tc-class-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "TC: listing classes"))) + +(def (cmd-tc-class-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Interface: " + (lambda (iface) + (echo-message! echo (str "TC: adding class on " iface)))))) + +(def (cmd-tc-filter-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "TC: listing filters"))) + +(def (cmd-tc-filter-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Interface: " + (lambda (iface) + (echo-message! echo (str "TC: adding filter on " iface)))))) + +(def (cmd-ip-rule-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IP: listing routing rules"))) + +(def (cmd-ip-rule-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Rule: " + (lambda (rule) + (echo-message! echo (str "IP: adding rule " rule)))))) + +(def (cmd-ip-route-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IP: showing routes"))) + +(def (cmd-ip-route-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Route: " + (lambda (route) + (echo-message! echo (str "IP: adding route " route)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -7549,4 +7549,25 @@ (register-command! 'mkfs-xfs cmd-mkfs-xfs) (register-command! 'mkfs-btrfs cmd-mkfs-btrfs) (register-command! 'tune2fs-info cmd-tune2fs-info) + ;; Round 292 + (register-command! 'tc-qdisc-list cmd-tc-qdisc-list) + (register-command! 'tc-qdisc-add cmd-tc-qdisc-add) + (register-command! 'tc-class-list cmd-tc-class-list) + (register-command! 'tc-class-add cmd-tc-class-add) + (register-command! 'tc-filter-list cmd-tc-filter-list) + (register-command! 'tc-filter-add cmd-tc-filter-add) + (register-command! 'ip-rule-list cmd-ip-rule-list) + (register-command! 'ip-rule-add cmd-ip-rule-add) + (register-command! 'ip-route-show cmd-ip-route-show) + (register-command! 'ip-route-add cmd-ip-route-add) + (register-command! 'ip-neigh-list cmd-ip-neigh-list) + (register-command! 'ip-neigh-flush cmd-ip-neigh-flush) + (register-command! 'ip-link-show cmd-ip-link-show) + (register-command! 'ip-link-set cmd-ip-link-set) + (register-command! 'ip-addr-show cmd-ip-addr-show) + (register-command! 'ip-addr-add cmd-ip-addr-add) + (register-command! 'bridge-list cmd-bridge-list) + (register-command! 'bridge-add cmd-bridge-add) + (register-command! 'bridge-fdb cmd-bridge-fdb) + (register-command! 'bridge-vlan cmd-bridge-vlan) )