]> git.proxmox.com Git - mirror_qemu.git/blobdiff - slirp/bootp.c
slirp: Implement RFC2132 TFTP server name
[mirror_qemu.git] / slirp / bootp.c
index 1e8185f0ecae0857497cc326278f7353e2d29243..7b1af73c9527bb3b753e197cf4c005b0784f7ff6 100644 (file)
@@ -318,6 +318,19 @@ static void bootp_reply(Slirp *slirp, const struct bootp_t *bp)
             }
         }
 
+        if (slirp->tftp_server_name) {
+            val = strlen(slirp->tftp_server_name);
+            if (q + val + 2 >= end) {
+                g_warning("DHCP packet size exceeded, "
+                    "omitting tftp-server-name option.");
+            } else {
+                *q++ = RFC2132_TFTP_SERVER_NAME;
+                *q++ = val;
+                memcpy(q, slirp->tftp_server_name, val);
+                q += val;
+            }
+        }
+
         if (slirp->vdnssearch) {
             val = slirp->vdnssearch_len;
             if (q + val >= end) {