Ephemeral Diffie-Hellman in a symmetric crypto context
The key exchange should also be authenticated. $\:$ GCM mode would mostly do that;

however, you should authenticate an indication of which message is for Diffie-Hellman.

(For example, you could use associated_data = 1 for the Diffie-Hellman messages and associated_data  =  0 || application's_associated_data for application-level messages.)