X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-rtnl%2Frtnl-util.c;h=9ddf074c24a6bb5d0e4a27330442fe27d36adb5a;hp=4521742b8e9a78e51cebdf1a16ff95b78894fb8e;hb=2eec67acbb00593e414549a7e5b35eb7dd776b1b;hpb=8d3d7072e609ef0e0fb37e1d19a29307d58146c3 diff --git a/src/libsystemd/sd-rtnl/rtnl-util.c b/src/libsystemd/sd-rtnl/rtnl-util.c index 4521742b8..9ddf074c2 100644 --- a/src/libsystemd/sd-rtnl/rtnl-util.c +++ b/src/libsystemd/sd-rtnl/rtnl-util.c @@ -19,7 +19,6 @@ along with systemd; If not, see . ***/ -#include #include "sd-rtnl.h" @@ -107,12 +106,10 @@ int rtnl_message_new_synthetic_error(int error, uint32_t serial, sd_rtnl_message assert(error <= 0); - r = message_new(NULL, ret, NLMSG_SPACE(sizeof(struct nlmsgerr))); + r = message_new(NULL, ret, NLMSG_ERROR); if (r < 0) return r; - (*ret)->hdr->nlmsg_len = NLMSG_LENGTH(sizeof(struct nlmsgerr)); - (*ret)->hdr->nlmsg_type = NLMSG_ERROR; (*ret)->hdr->nlmsg_seq = serial; err = NLMSG_DATA((*ret)->hdr); @@ -122,6 +119,17 @@ int rtnl_message_new_synthetic_error(int error, uint32_t serial, sd_rtnl_message return 0; } +bool rtnl_message_type_is_neigh(uint16_t type) { + switch (type) { + case RTM_NEWNEIGH: + case RTM_GETNEIGH: + case RTM_DELNEIGH: + return true; + default: + return false; + } +} + bool rtnl_message_type_is_route(uint16_t type) { switch (type) { case RTM_NEWROUTE: