diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2022-02-02 13:21:52 -0500 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2022-02-08 17:28:19 -0500 |
| commit | d4000d7ba3242c0e6adfa56544a34312b0f566a9 (patch) | |
| tree | 3b21518ad9af9373fb2de44b0e40d507e6c436b3 /lib/lib_errors.h | |
| parent | 3670f5047cb00865c15b2f3ebdfcfe634443db61 (diff) | |
zebra: Remove `struct nlsock` from dataplane information and use `int fd`
Store the fd that corresponds to the appropriate `struct nlsock` and pass
that around in the dplane context instead of the pointer to the nlsock.
Modify the kernel_netlink.c code to store in a hash the `struct nlsock`
with the socket fd as the key.
Why do this? The dataplane context is used to pass around the `struct nlsock`
but the zebra code has a bug where the received buffer for kernel netlink
messages from the kernel is not big enough. So we need to dynamically
grow the receive buffer per socket, instead of having a non-dynamic buffer
that we read into. By passing around the fd we can look up the `struct nlsock`
that will soon have the associated buffer and not have to worry about `const`
issues that will arise.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'lib/lib_errors.h')
0 files changed, 0 insertions, 0 deletions
