diff options
| author | Francois Dumontet <francois.dumontet@6wind.com> | 2025-01-07 16:54:48 +0100 |
|---|---|---|
| committer | Francois Dumontet <francois.dumontet@6wind.com> | 2025-02-27 16:51:05 +0100 |
| commit | 8c9b007a0c7efb2e9afc2eac936ba9dd971c6707 (patch) | |
| tree | 11d5048ac0976ece719f0df1a7e0c2a995f6e26c /zebra | |
| parent | 77b52da131293041c5074a3f9944a1709872e2f4 (diff) | |
zebra: reduce memory usage by streams when redistributing routes
required stream size is evaluated as a fix part and variable one.
the variable one depend on the number of nexthops.
Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
Diffstat (limited to 'zebra')
| -rw-r--r-- | zebra/zapi_msg.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c index be19256c40..066859d380 100644 --- a/zebra/zapi_msg.c +++ b/zebra/zapi_msg.c @@ -518,8 +518,7 @@ int zsend_redistribute_route(int cmd, struct zserv *client, const struct route_n const struct prefix *p, *src_p; uint16_t count = 0; afi_t afi; - size_t stream_size = - MAX(ZEBRA_MAX_PACKET_SIZ, sizeof(struct zapi_route)); + size_t stream_size = 0; srcdest_rnode_prefixes(rn, &p, &src_p); memset(&api, 0, sizeof(api)); @@ -611,6 +610,7 @@ int zsend_redistribute_route(int cmd, struct zserv *client, const struct route_n SET_FLAG(api.message, ZAPI_MESSAGE_MTU); api.mtu = re->mtu; + stream_size = zapi_redistribute_stream_size(&api); struct stream *s = stream_new(stream_size); /* Encode route and send. */ |
