tree df155c4193531a37f651d4151866f18224f8ca4b
parent 2dd04c5dc8b5a09cce1c251361fa58f26398fd9f
author Josh Bailey <joshb@google.com> 1332375219 -0700
committer Avneesh Sachdev <avneesh@opensourcerouting.org> 1333873181 -0700

zebra: include hardware addr in if up/down messages

Change interface up/down notification messages to also include the
hardware address of the interface. The format of these messages is now
identical to the interface add message -- move the serialization code
to common functions.

  * lib/zclient.c: Modify zebra_interface_if_set_value() to also parse
    the hardware address. Invoke it from zebra_interface_add_read()
    and and zebra_interface_state_read().

  * zebra/zserv.c: Add zserv_encode_interface(). Invoke it from
    zserv_interface_add(), zserv_interface_delete() and
    zserv_interface_update().
