The point of ADFX/ARINC 664 is that it is real time. That means the switch guarantees each type of message will be delivered in specified time according to its priority and allocated bandwidth.
For example the control computers probably need to know the inertial reference (attitude and speed) readings every 10 ms, so the switch can be configured to deliver one message from each inertial reference unit every 10 ms with at most, say, 2 ms delay (based on number of packet types with higher priority). And the switch guarantees that barring hardware failure it will deliver the messages within that delay always. That is a lot of logic on top of normal ethernet that just delivers packets on a best effort basis.
Additionally the logic also has to guarantee that if one of the units goes haywire and starts sending the packets faster than the allocated bandwidth, or starts sending jumbled packets, these errors won't interrupt any other communication going through the switch. If one inertial reference packet should be delivered every 10 ms, only one will be delivered even if the unit sends hundred of them.
And last there has to be a lot of integrity checking of the switch itself so if hardware does fail, the communication fails over to the backup network.
Since it is ethernet on the physical and data link layers, you can use plain ethernet switch for testing a component. But not for production and not for system test where you have to verify the traffic policing is set up correctly.