U-Boot standalone API does support raw ethernet packet eth_send() and eth_receive(). However, that is much less functionality than Linux sockets.
Protocols over UDP, e.g. DHCP and TFTP are implemented in U-Boot commands (although those protocols are not exported in the standalone API). If you need more functionality than that, e.g. TCP, you'll probably need an OS i.e. Linux, rather than U-Boot.
Ideally, existing commands would do what you need. For example, you could assemble file content in a standalone app invoked through command line, then transmit the file with existing command tftpboot. Or you could implement custom commands inside u-boot rather than standalone app; you could copy/paste from existing protocols' implementation.
If you do pursue standalone application, refer to examples/api/demo.c. That shows the abilities and limitations of standalone API. If you have source code for your customized u-boot, demo.bin will be in the build output (make sure you have #define CONFIG_API in your board config.h), and it may just load/run on your board with no further mods. For eth interface, it will use ethact, and will send a packet filled with 00. The board specific driver is already in your u-boot.