diff options
Diffstat (limited to 'lib/zclient.c')
| -rw-r--r-- | lib/zclient.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/zclient.c b/lib/zclient.c index 07c7e5aea8..42d5c33a1b 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -1035,6 +1035,7 @@ int zapi_nexthop_encode(struct stream *s, const struct zapi_nexthop *api_nh, */ if (api_nh->label_num > 0) { stream_putc(s, api_nh->label_num); + stream_putc(s, api_nh->label_type); stream_put(s, &api_nh->labels[0], api_nh->label_num * sizeof(mpls_label_t)); } @@ -1397,6 +1398,7 @@ int zapi_nexthop_decode(struct stream *s, struct zapi_nexthop *api_nh, /* MPLS labels for BGP-LU or Segment Routing */ if (CHECK_FLAG(api_nh->flags, ZAPI_NEXTHOP_FLAG_LABEL)) { STREAM_GETC(s, api_nh->label_num); + STREAM_GETC(s, api_nh->label_type); if (api_nh->label_num > MPLS_MAX_LABELS) { flog_err( EC_LIB_ZAPI_ENCODE, @@ -1682,7 +1684,8 @@ int zapi_tc_class_encode(uint8_t cmd, struct stream *s, struct tc_class *class) stream_putq(s, class->u.htb.rate); stream_putq(s, class->u.htb.ceil); break; - default: + case TC_QDISC_UNSPEC: + case TC_QDISC_NOQUEUE: /* not implemented */ break; } @@ -1730,7 +1733,10 @@ int zapi_tc_filter_encode(uint8_t cmd, struct stream *s, } stream_putl(s, filter->u.flower.classid); break; - default: + case TC_FILTER_UNSPEC: + case TC_FILTER_BPF: + case TC_FILTER_FLOW: + case TC_FILTER_U32: /* not implemented */ break; } @@ -1944,6 +1950,7 @@ int zapi_nexthop_from_nexthop(struct zapi_nexthop *znh, znh->labels[i] = nh->nh_label->label[i]; znh->label_num = i; + znh->label_type = nh->nh_label_type; SET_FLAG(znh->flags, ZAPI_NEXTHOP_FLAG_LABEL); } |
