ip: move get-attr to utils

Julien LepillerSun Mar 14 00:13:00+0100 2021

662e9a4

ip: move get-attr to utils

ip/link.scm

5656
  (addr  link-addr)
5757
  (brd   link-brd))
5858
59-
(define (get-attr attrs type)
60-
  (let ((attrs (filter (lambda (attr) (equal? (route-attr-kind attr) type)) attrs)))
61-
    (match attrs
62-
      (() #f)
63-
      ((attr) (nl-data-data (route-attr-data attr))))))
64-
6559
(define (split-flags flags)
6660
  (let loop ((max-flag 262144) (flags flags) (result '()))
6761
    (cond

ip/utils.scm

1616
;;;; 
1717
1818
(define-module (ip utils)
19+
  #:use-module (ice-9 match)
1920
  #:use-module (netlink constant)
2021
  #:use-module (netlink data)
2122
  #:use-module (netlink message)
23+
  #:use-module (netlink route attrs)
2224
  #:use-module (netlink standard)
23-
  #:export (answer-ok?))
25+
  #:export (answer-ok?
26+
            get-attr))
2427
2528
(define (answer-ok? answer)
2629
  (cond

3639
                   (format #t "RTNETLINK answers: ~a~%" (strerror (- err)))
3740
                   #f)))
3841
           #f)))))
42+
43+
(define (get-attr attrs type)
44+
  (let ((attrs (filter (lambda (attr) (equal? (route-attr-kind attr) type)) attrs)))
45+
    (match attrs
46+
      (() #f)
47+
      ((attr) (nl-data-data (route-attr-data attr))))))