Are you using tuned with vm host or container host profile enabled?
Dealing with this exact problem, Dell Poweredge T610 network card (bnx2 driver) kept negotiating down to 100 Mbps. If I forced it with ethtool it would work fine for some "period" of time at gigabit speeds, but then suddenly renegotiate downward. Turns out I had tuned installed and set to powersave mode. I installed tuned so long ago I had forgot about it, and your little mention of it made my brain hamster wheels spin. So far so good, I was ready to cry and get the motherboard replaced .
Thanks alitvak69