Support peer in (ip addr)

Julien LepillerSat Dec 25 15:14:02+0100 2021

175ac1b

Support peer in (ip addr)

ip/addr.scm

4545
  (brd       addr-brd)
4646
  (cacheinfo addr-cacheinfo))
4747
48-
(define* (addr-del device cidr #:key (ipv6? #f))
48+
(define* (addr-del device cidr #:key (ipv6? #f) (peer (cidr->addr cidr)))
4949
  (define request-num (random 65535))
5050
  (define prefix (cidr->prefix cidr))
5151
  (define addr (cidr->addr cidr))

7777
            ((if ipv6?
7878
                 make-ipv6-route-attr
7979
                 make-ipv4-route-attr)
80-
             addr))))))
80+
             peer))))))
8181
8282
  (let ((sock (connect-route)))
8383
    (send-msg message sock)

8585
      (close-socket sock)
8686
      (answer-ok? (last answer)))))
8787
88-
(define* (addr-add device cidr #:key (ipv6? #f))
88+
(define* (addr-add device cidr #:key (ipv6? #f) (peer (cidr->addr cidr)))
8989
  (define request-num (random 65535))
9090
  (define prefix (cidr->prefix cidr))
9191
  (define addr (cidr->addr cidr))

117117
            ((if ipv6?
118118
                 make-ipv6-route-attr
119119
                 make-ipv4-route-attr)
120-
             addr))))))
120+
             peer))))))
121121
122122
  (let ((sock (connect-route)))
123123
    (send-msg message sock)