aboutsummaryrefslogtreecommitdiff
path: root/sys/boot
diff options
context:
space:
mode:
authorPaul Saab <ps@FreeBSD.org>2001-03-14 23:53:25 +0000
committerPaul Saab <ps@FreeBSD.org>2001-03-14 23:53:25 +0000
commitc6fe53998a91867dd4f4e4dd170de15e3e7ff8e3 (patch)
treef83f5c93c8fb3933fe3a0142b3e7360a46b89be2 /sys/boot
parentdf860c72f9f8e711a23e635aa2836e9fbce37cfb (diff)
Notes
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/i386/libi386/pxe.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/boot/i386/libi386/pxe.c b/sys/boot/i386/libi386/pxe.c
index 5cbf54517da1..6e01a2834b68 100644
--- a/sys/boot/i386/libi386/pxe.c
+++ b/sys/boot/i386/libi386/pxe.c
@@ -553,11 +553,15 @@ sendudp(struct iodesc *h, void *pkt, size_t len)
udpwrite_p->ip = h->destip.s_addr;
udpwrite_p->dst_port = h->destport;
udpwrite_p->src_port = h->myport;
- udpwrite_p->gw = gateip.s_addr;
udpwrite_p->buffer_size = len;
udpwrite_p->buffer.segment = VTOPSEG(pkt);
udpwrite_p->buffer.offset = VTOPOFF(pkt);
+ if (netmask == 0 || SAMENET(myip, h->destip, netmask))
+ udpwrite_p->gw = 0;
+ else
+ udpwrite_p->gw = gateip.s_addr;
+
pxe_call(PXENV_UDP_WRITE);
#if 0