you are generating ce_50_net from a faster clock. in this case, you want to use the two-register synchronizer on the inputs to avoid metastability. after that, implement an edge detector (register + xor). on any edge, the counter generating clk_50_net is reset. that counter also resets if it reaches the normal terminal count. clk_50_net is generated by comparing the counter to something like half of terminal count. This is a simple version of clock recovery.
when the rx clock is slow, the counter will reset a bit before the terminal count happens. if the rx clock is fast, the counter resets and resets a second time with a low count. But these only happen when there are transitions, otherwise it falls back to being a little fast or a little slow. The length of data you can receive where there are no transitions is based on how long it takes the difference in clock frequencies between sender/receiver to accumulate enough phase error to skip/slip a bit.
This is a simple version. there are more advanced methods.