chiark / gitweb /
rtnl: make checks for default routes more strict
[elogind.git] / src / libsystemd / sd-rtnl / rtnl-message.c
index 076c822e6fcb135724d6ceda0c6e850951552d0f..a2f75471b4cff69e2aaa4da844ed3346f5038751 100644 (file)
@@ -158,6 +158,21 @@ int sd_rtnl_message_route_get_dst_len(sd_rtnl_message *m, unsigned char *dst_len
         return 0;
 }
 
+int sd_rtnl_message_route_get_src_len(sd_rtnl_message *m, unsigned char *src_len) {
+        struct rtmsg *rtm;
+
+        assert_return(m, -EINVAL);
+        assert_return(m->hdr, -EINVAL);
+        assert_return(rtnl_message_type_is_route(m->hdr->nlmsg_type), -EINVAL);
+        assert_return(src_len, -EINVAL);
+
+        rtm = NLMSG_DATA(m->hdr);
+
+        *src_len = rtm->rtm_src_len;
+
+        return 0;
+}
+
 int sd_rtnl_message_new_route(sd_rtnl *rtnl, sd_rtnl_message **ret,
                               uint16_t nlmsg_type, int rtm_family,
                               unsigned char rtm_protocol) {