Why does my digital upconversion result in two tones? I am using Xilinx's RFSoC in I/Q mode. The important point is that in the digital space I have real and complex samples. I take the incoming data and multiply it by a complex sinusoid. 

In my test setup I am sampling a 125 MHz sine wave and am mixing it with a 5 MHz sinusoid. I take the mixed signal and pass it out a DAC to view it on a spectrum analyzer. What I would like to see is the 125 MHz digitally upconverted to 130 MHz. What I actually see is two tones: 120 MHz and 130 MHz.

Is there a way, without just filtering the 120 MHz sine wave, to upconvert the 125 MHz tone to 130 MHz by mixing?
You can use the property of Fourier transforms which says that: $x(t)e^{j2\pi f_0t}\leftrightarrow X(f-f_0)$. That is, multiplying the time domain signal with a complex exponential will give you a shift in the frequency domain. 

By multiplying by another sine, you get: $x(t)\text{sin}(2\pi f_0 t) \leftrightarrow X(f)*\text{FT}\big(\text{sin}(2\pi f_0 t)\big)=\frac{X(f-f_0)-X(f+f_0)}{2j}$, and so you see an extra peak at $120$ MHz.