None of that you can ever really move into software. At least not decently.
For pure switches, you might be right (for a while at least). But there is plenty of higher level stuff that is at least partially implemented in silicon (and/or inaccessible software) that is about to be eaten by software.
Things like load-balancing, for example: http://perspectives.mvdirona.com/2011/05/20/SoftwareLoadBala...