diff --git a/lib/ChangeLog b/lib/ChangeLog index da0bc4ad9d..0e98b924c0 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,10 @@ +2006-01-11 Paul Jakma + + * if.h: (struct interface) expand flags to 8 bytes. + * zclient.c: (zebra_interface_{add,state}_read) stream read of + interface flags now need to use stream_getq. + (zebra_interface_if_set_value) ditto + 2006-01-10 Paul Jakma * stream.c: (stream_new) Allocate stream data as seperate object. diff --git a/lib/if.h b/lib/if.h index 8126ea9ca7..e62990601e 100644 --- a/lib/if.h +++ b/lib/if.h @@ -92,7 +92,7 @@ struct interface #define ZEBRA_INTERFACE_LINKDETECTION (1 << 2) /* Interface flags. */ - unsigned long flags; + uint64_t flags; /* Interface metric */ int metric; diff --git a/lib/zclient.c b/lib/zclient.c index d0c4c3bd33..b09f55864a 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -585,6 +585,7 @@ zebra_router_id_update_read (struct stream *s, struct prefix *rid) * | ifindex | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | if_flags | + * | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | metric | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ @@ -615,7 +616,7 @@ zebra_interface_add_read (struct stream *s) /* Read interface's value. */ ifp->status = stream_getc (s); - ifp->flags = stream_getl (s); + ifp->flags = stream_getq (s); ifp->metric = stream_getl (s); ifp->mtu = stream_getl (s); ifp->mtu6 = stream_getl (s); @@ -660,7 +661,7 @@ zebra_interface_state_read (struct stream *s) /* Read interface's value. */ ifp->status = stream_getc (s); - ifp->flags = stream_getl (s); + ifp->flags = stream_getq (s); ifp->metric = stream_getl (s); ifp->mtu = stream_getl (s); ifp->mtu6 = stream_getl (s); @@ -709,7 +710,7 @@ zebra_interface_if_set_value (struct stream *s, struct interface *ifp) ifp->status = stream_getc (s); /* Read interface's value. */ - ifp->flags = stream_getl (s); + ifp->flags = stream_getq (s); ifp->metric = stream_getl (s); ifp->mtu = stream_getl (s); ifp->mtu6 = stream_getl (s); diff --git a/zebra/ChangeLog b/zebra/ChangeLog index 89e5fca3cd..91cf54889e 100644 --- a/zebra/ChangeLog +++ b/zebra/ChangeLog @@ -1,3 +1,8 @@ +2006-01-11 Paul Jakma + + * zserv.c: (zsend_interface_{add,delete,update}) if flags are + 8 bytes now, update to write out with stream_putq. + 2005-12-29 Greg Troxel * kernel_socket.c: remove dead code (from David Young). diff --git a/zebra/zserv.c b/zebra/zserv.c index abd99cdc38..35dd306ee1 100644 --- a/zebra/zserv.c +++ b/zebra/zserv.c @@ -183,7 +183,7 @@ zsend_interface_add (struct zserv *client, struct interface *ifp) stream_put (s, ifp->name, INTERFACE_NAMSIZ); stream_putl (s, ifp->ifindex); stream_putc (s, ifp->status); - stream_putl (s, ifp->flags); + stream_putq (s, ifp->flags); stream_putl (s, ifp->metric); stream_putl (s, ifp->mtu); stream_putl (s, ifp->mtu6); @@ -223,7 +223,7 @@ zsend_interface_delete (struct zserv *client, struct interface *ifp) stream_put (s, ifp->name, INTERFACE_NAMSIZ); stream_putl (s, ifp->ifindex); stream_putc (s, ifp->status); - stream_putl (s, ifp->flags); + stream_putq (s, ifp->flags); stream_putl (s, ifp->metric); stream_putl (s, ifp->mtu); stream_putl (s, ifp->mtu6); @@ -355,7 +355,7 @@ zsend_interface_update (int cmd, struct zserv *client, struct interface *ifp) stream_put (s, ifp->name, INTERFACE_NAMSIZ); stream_putl (s, ifp->ifindex); stream_putc (s, ifp->status); - stream_putl (s, ifp->flags); + stream_putq (s, ifp->flags); stream_putl (s, ifp->metric); stream_putl (s, ifp->mtu); stream_putl (s, ifp->mtu6);