aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-05-23net: Don't copy every packet that waits for an ARPJoe Hershberger5-38/+23
Use the NetArpTxPacket for the ARP packet, not to hold what used to be in NetTxPacket. This saves a copy and makes the code easier to understand. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Make sure NetLoop is initialized when using NetConsoleJoe Hershberger1-0/+6
Fix NetConsole bug that causes first packet header to claim a source IP address of 0.0.0.0 Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: Fix net buffer initializationJoe Hershberger2-14/+32
A new non-static function net_init() will initialize buffers and read from the environment. Only update from the env on each entry to NetLoop(). Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Remove unused parameter from NetInitLoop()Joe Hershberger1-2/+2
Noone uses it. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Remove static allocation for MAC address in PingSend()Joe Hershberger2-11/+8
Don't force ARP clients to return the MAC address if they don't care (such as ping) Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
2012-05-23net: Add option CONFIG_BOOTP_MAY_FAILJoe Hershberger2-0/+12
This is useful if you want to look for a DHCP server, but try some other settings if not available. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Fix unused variable compile warningJoe Hershberger1-4/+3
If CONFIG_BOOTP_SERVERIP is not defined, unused variable warning is reported. This was fixed upstream using a compiler feature instead of a simple reorder of the statements. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
2012-05-23net: Don't write the "serverip" env var if configured not toJoe Hershberger1-2/+6
Before this patch, bootp would not overwrite the value, but the value was still clobbered in the env Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: Add net_update_ether() to handle ARP and Ping repliesJoe Hershberger4-6/+30
When the network is VLAN or SNAP, net_update_ether() will preserve the original Ethernet packet header and simply replace the src and dest MACs and the protocol Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Refactor to separate the UDP handler from the ARP handlerJoe Hershberger10-55/+79
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>
2012-05-23net: Refactor to protect access to the NetState variableJoe Hershberger9-37/+48
Changes to NetState now go through an accessor function called net_set_state() Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: Refactor to use NetSendPacket instead of eth_send directlyJoe Hershberger5-15/+10
Use this entry-point consistently across the net/ code Use a static inline function to preserve code size Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Refactor ping receive handlerJoe Hershberger1-16/+2
There is no need to call through the handler... inline it Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
2012-05-23net: Move debug trace to point of actionJoe Hershberger1-1/+1
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Refactor bootp packet length computationsJoe Hershberger1-11/+13
Eliminate pointer subtraction that recovers values computed earlier Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Refactor packet length computationsJoe Hershberger3-10/+16
Save the length when it is computed instead of forgetting it and subtracting pointers to figure it out again. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
2012-05-23net: Refactor NetSendUDPPacket to share more codeJoe Hershberger1-19/+25
Share more of the code that is common between ARP vs not. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Refactor IP, UPD, and ICMP header writing functionsJoe Hershberger4-53/+58
ICMP (ping) was reimplementing IP header code... it now shares code. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
2012-05-23net: cosmetic: Replace magic numbers in arp.c with constantsJoe Hershberger2-17/+23
Use field names and sizes when accessing ARP packets Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: cosmetic: Rename tmp to reply_ip_addr in arp.cJoe Hershberger1-3/+3
Renamed for clarity Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: cosmetic: Alphabetize includes in net.cJoe Hershberger1-12/+12
Easier to find when alphabetized Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: cosmetic: Rename OPT_SIZE to OPT_FIELD_SIZEJoe Hershberger2-9/+8
Clearer constant name. Also remove related BOOTP_SIZE which was unused and doesn't take into account VLAN packets. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: cosmetic: Rename CDPHandler to cdp_receiveJoe Hershberger3-4/+4
This is not called as a handler, so don't name it that way Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: cosmetic: Rename "x" to "eth_proto"Joe Hershberger1-12/+12
x is a poor variable name Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: cosmetic: Add a more explicit comment about 802.2Joe Hershberger2-3/+4
Make the comment more accurate about the header including SNAP Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: cosmetic: Rename parameter len to payload_lenJoe Hershberger2-9/+18
This name more explicitly claims that it does not include the header size Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: cosmetic: Un-typedef ICMP_tJoe Hershberger3-4/+6
Remove typedef and lower-case name Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: cosmetic: Un-typedef ARP_tJoe Hershberger3-11/+10
Remove typedef and lower-case letters Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: cosmetic: Un-typedef VLAN_Ethernet_tJoe Hershberger2-5/+8
Eliminate the typedef and remove capital letters Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: cosmetic: Un-typedef Ethernet_tJoe Hershberger9-26/+36
Separate the Ethernet header from the 802 header. Base the size constants on the structs. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: cosmetic: Split struct ip_udp_hdr into ip_hdrJoe Hershberger3-21/+37
Add a structure that only contains IP header fields to be used by functions that don't need UDP Rename IP_HDR_SIZE_NO_UDP to IP_HDR_SIZE Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: cosmetic: Un-typedef IP_tJoe Hershberger15-52/+55
Rename IP header related things to IP_UDP. The existing definition of IP_t includes UDP header, so name it to accurately describe the structure. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: Move RARP receive logic out of net.cJoe Hershberger3-48/+37
Separate this functionality out of the net.c behemoth Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
2012-05-23net: Move PING out of net.cJoe Hershberger4-129/+179
Separate this functionality out of the net.c behemoth Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Move ARP out of net.cJoe Hershberger5-197/+259
Separate this functionality out of the net.c behemoth Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
2012-05-23net: Encapsulate CDP packet identificationJoe Hershberger3-4/+12
Checking for CDP packets should be encapsulated, not copied code. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: Move CDP out of net.cJoe Hershberger5-370/+400
Separate this functionality out of the net.c behemoth Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-23net: Move MAC-seeded rand out of bootp.cJoe Hershberger5-58/+107
Make the MAC-seeded random number generator available to /net in general. MAC-seeded rand will be needed by link-local as well, so give it an interface. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Remove CMD_PING where there's no CMD_NETJoe Hershberger3-3/+3
Some boards claim to need ping, but don't support net. That makes no sense, and causes problems now that ping is in a separate file. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2012-05-23net: Fix remaining API interface breakageJoe Hershberger29-64/+41
These are all the files which use the API incorrectly but did not get built using MAKEALL -a powerpc|arm. I have no compiler for them, but the remaining issues should be far less than without this patch. Any outstanding issues are left to the maintainers of boards that use these drivers. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-22drivers/net/rtl8169.c: Fix compile warningJoe Hershberger1-1/+1
Fix this: rtl8169.c: In function 'rtl8169_initialize': rtl8169.c:907:13: warning: assignment from incompatible pointer type Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-22drivers/net/pcnet.c: Fix compile warningJoe Hershberger1-4/+2
Fix this: pcnet.c: In function 'pcnet_initialize': pcnet.c:224:13: warning: assignment from incompatible pointer type Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-22arch/powerpc/cpu/mpc8260/ether_scc.c: Fix compile warningJoe Hershberger1-1/+1
Fix this: ether_scc.c: In function 'mpc82xx_scc_enet_initialize': ether_scc.c:377:14: warning: assignment from incompatible pointer type Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-22drivers/net/xilinx_axi_emac.c: Fix compile warningStephan Linz1-1/+1
Fix this: xilinx_axi_emac.c: In function 'xilinx_axiemac_initialize': xilinx_axi_emac.c:646: warning: assignment from incompatible pointer type Signed-off-by: Stephan Linz <linz@li-pro.net>
2012-05-22drivers/net/xilinx_emaclite.c: Fix compile warningStephan Linz1-3/+3
Fix this: xilinx_emaclite.c: In function 'xilinx_emaclite_initialize': xilinx_emaclite.c:371: warning: assignment from incompatible pointer type Signed-off-by: Stephan Linz <linz@li-pro.net>
2012-05-22drivers/net/xilinx_ll_temac.c: Fix compile warningStephan Linz4-8/+4
Fix this: xilinx_ll_temac.c: In function 'xilinx_ll_temac_initialize': xilinx_ll_temac.c:332: warning: assignment from incompatible pointer type xilinx_ll_temac.c:340: warning: assignment from incompatible pointer type Signed-off-by: Stephan Linz <linz@li-pro.net>
2012-05-22net: Remove redefinitions of net.h functionsJoe Hershberger4-8/+0
Some copy/pasted drivers redefine functions defined in include/net.h. Remove these so that the definitions can be changed without error. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
2012-05-22drivers/qe/uec.c: Fix compile warningJoe Hershberger1-1/+1
Fix this: uec.c: In function 'uec_initialize': uec.c:1404:12: warning: assignment from incompatible pointer type Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-22drivers/net/uli526x.c: Fix compile warningJoe Hershberger1-4/+2
Fix this: uli526x.c: In function 'uli526x_initialize': uli526x.c:243:13: warning: assignment from incompatible pointer type Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2012-05-22drivers/net/tsi108_eth.c: Fix compile warningJoe Hershberger1-9/+5
Fix this: tsi108_eth.c: In function 'tsi108_eth_initialize': tsi108_eth.c:745:13: warning: assignment from incompatible pointer type tsi108_eth.c: In function 'tsi108_eth_recv': tsi108_eth.c:989:4: warning: passing argument 1 of 'NetReceive' discards qualifiers from pointer target type Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>