There is a Linux server with several Intel 82599ES cards:
# lspci | grep -i eth
01:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
01:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
02:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
02:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
# ethtool -i enp1s0f0 | grep firmware-version
firmware-version: 0x18b30001
# ethtool -i enp2s0f0 | grep firmware-version
firmware-version: 0x800004d0
How to flash the newest firmware to these cards? Is it possible without rebooting?
Hardware firmware update
To get the updated firmware, obtain the BIOS/firmware update files for your server from your vendor. Any other method may break your warranty/support contract with them.
Corresponding kernel update
To ensure you have the latest kernel modules for your hardware, update your OS to the latest kernel supported by your OS vendor.
Without rebooting?
Not really. The hardware update most certainly will require a reboot for the new firmware to take effect.
If you have a supported hotpatch kernel in place, you could probably update the kernel without reboot then unload/reload the kernel modules for your NICs provided you are connected via console our other out-of-band methods such as idrac/ilo. You could even build the new kernel module and insmod it after unloading the old one. There is no guarentee the server will not have network problems using this method.
Firmware on 82599 network controller is ROM based and generally speaking not upgradable. There are small tweaks possible but these are not widely deployed and usually provided for VERY specific needs (like platform integration). These controllers usually just work and there is no compelling reason to upgrade firmware on them unless you've been directed by technical support to do so.
Another story is Option ROM upgrade, which is sometimes mistakenly called firmware (it is not a firmware as it executes on host system, not on ASIC itself). In this case upgrading to latest and greatest is usually something to consider, especially if you observe some anomalies when booting from the network.