forked from Mirror/frr
lib, zebra: On startup send mlag role as part of the capabilities
On startup send the mlag role as part of the capabilities to the end protocol. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
ff1fb8d5f6
commit
02c0866dbe
|
@ -2355,6 +2355,7 @@ static void zclient_capability_decode(int command, struct zclient *zclient,
|
|||
STREAM_GETC(s, mpls_enabled);
|
||||
cap.mpls_enabled = !!mpls_enabled;
|
||||
STREAM_GETL(s, cap.ecmp);
|
||||
STREAM_GETC(s, cap.role);
|
||||
|
||||
if (zclient->zebra_capabilities)
|
||||
(*zclient->zebra_capabilities)(&cap);
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
/* For union pw_protocol_fields */
|
||||
#include "pw.h"
|
||||
|
||||
#include "mlag.h"
|
||||
|
||||
/* For input/output buffer to zebra. */
|
||||
#define ZEBRA_MAX_PACKET_SIZ 16384
|
||||
|
||||
|
@ -171,6 +173,7 @@ struct redist_proto {
|
|||
struct zclient_capabilities {
|
||||
uint32_t ecmp;
|
||||
bool mpls_enabled;
|
||||
enum mlag_role role;
|
||||
};
|
||||
|
||||
/* Structure for the zebra client. */
|
||||
|
|
|
@ -63,6 +63,7 @@
|
|||
#include "zebra/table_manager.h"
|
||||
#include "zebra/zapi_msg.h"
|
||||
#include "zebra/zebra_errors.h"
|
||||
#include "zebra/zebra_mlag.h"
|
||||
|
||||
/* Encoding helpers -------------------------------------------------------- */
|
||||
|
||||
|
@ -1657,6 +1658,7 @@ static void zsend_capabilities(struct zserv *client, struct zebra_vrf *zvrf)
|
|||
zclient_create_header(s, ZEBRA_CAPABILITIES, zvrf->vrf->vrf_id);
|
||||
stream_putc(s, mpls_enabled);
|
||||
stream_putl(s, multipath_num);
|
||||
stream_putc(s, zebra_mlag_get_role());
|
||||
|
||||
stream_putw_at(s, 0, stream_get_endp(s));
|
||||
zserv_send_message(client, s);
|
||||
|
|
Loading…
Reference in a new issue