aboutsummaryrefslogtreecommitdiff
path: root/include/net.h
diff options
context:
space:
mode:
authorJoe Hershberger2012-05-23 07:59:15 +0000
committerJoe Hershberger2012-05-23 17:52:53 -0500
commitece223b52ae9ab94f7ae83a9ac49b9f6319a94cb (patch)
tree1d2c3ec21e2802f52bb6d95b25ae16ad9d97cad8 /include/net.h
parent22f6e99d5b0c54758646334c1153737a5585bd57 (diff)
net: Refactor to separate the UDP handler from the ARP handler
Call a built-in dummy if none is registered... don't require protocols to register a handler (eliminating dummies) NetConsole now uses the ARP handler when waiting on arp (instead of needing a #define hack in arp.c) Clear handlers at the end of net loop Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/net.h')
-rw-r--r--include/net.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/net.h b/include/net.h
index 8dd407e6cfe..09f040f33d6 100644
--- a/include/net.h
+++ b/include/net.h
@@ -460,8 +460,10 @@ extern int NetCksumOk(uchar *, int); /* Return true if cksum OK */
extern uint NetCksum(uchar *, int); /* Calculate the checksum */
/* Callbacks */
-extern rxhand_f *NetGetHandler(void); /* Get RX packet handler */
-extern void NetSetHandler(rxhand_f *); /* Set RX packet handler */
+extern rxhand_f *net_get_udp_handler(void); /* Get UDP RX packet handler */
+extern void net_set_udp_handler(rxhand_f *); /* Set UDP RX packet handler */
+extern rxhand_f *net_get_arp_handler(void); /* Get ARP RX packet handler */
+extern void net_set_arp_handler(rxhand_f *); /* Set ARP RX packet handler */
extern void net_set_icmp_handler(rxhand_icmp_f *f); /* Set ICMP RX handler */
extern void NetSetTimeout(ulong, thand_f *);/* Set timeout handler */
@@ -487,6 +489,7 @@ static inline void NetSendPacket(uchar *pkt, int len)
/*
* Transmit UDP packet, performing ARP request if needed
+ * (ether will be populated)
*
* @param ether Raw packet buffer
* @param dest IP address to send the datagram to