summaryrefslogtreecommitdiff
path: root/net/net.c
diff options
context:
space:
mode:
authorDavid Updegraff <dave@cray.com>2007-06-11 10:41:07 -0500
committerBen Warren <bwarren@qstreams.com>2007-08-13 23:22:31 -0400
commit53a5c424bf8655b7b4e2c305a441963259a26a81 (patch)
tree281e5aed270485a3c496479c0d46cea87e00c420 /net/net.c
parent5d110f0aa69f065ee386ec1840dfee1e8cc46bc1 (diff)
multicast tftp: RFC2090
Implemented IETF RFC2090, Multicast TFTP. Initial implementation on Realtek RTL8139 and Freescale TSEC. Signed-off-by: David Updegraff <dave@cray.com> Signed-off-by: Ben Warren <bwarren@qstreams.com>
Diffstat (limited to 'net/net.c')
-rw-r--r--net/net.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/net.c b/net/net.c
index e9d77576419..2b11a136574 100644
--- a/net/net.c
+++ b/net/net.c
@@ -118,6 +118,10 @@ char NetOurHostName[32]={0,}; /* Our hostname */
char NetOurRootPath[64]={0,}; /* Our bootpath */
ushort NetBootFileSize=0; /* Our bootfile size in blocks */
+#ifdef CONFIG_MCAST_TFTP /* Multicast TFTP */
+IPaddr_t Mcast_addr;
+#endif
+
/** END OF BOOTP EXTENTIONS **/
ulong NetBootFileXferSize; /* The actual transferred size of the bootfile (in bytes) */
@@ -1386,6 +1390,9 @@ NetReceive(volatile uchar * inpkt, int len)
}
tmp = NetReadIP(&ip->ip_dst);
if (NetOurIP && tmp != NetOurIP && tmp != 0xFFFFFFFF) {
+#ifdef CONFIG_MCAST_TFTP
+ if (Mcast_addr != tmp)
+#endif
return;
}
/*
@@ -1492,6 +1499,7 @@ NetReceive(volatile uchar * inpkt, int len)
}
#endif
+
#ifdef CONFIG_NETCONSOLE
nc_input_packet((uchar *)ip +IP_HDR_SIZE,
ntohs(ip->udp_dst),