Originally posted by Admiral
JM: The Aesir are fighting in the hopes of reducing the number of Fenris Brood and Heloki. As well as having a chance at removing the Jotuns. This would make things easier for the group and is well worth it.
There are other reasons but that is the main one.
Remember there is also just one ship off the planet, and the Asgardried cannot hold all the Aesir.
The Aesir are doomed one way or another. This battle gives them the best chance to do the most damage.
Vader's wife was very pregnant when she died 19 years ago. All of a sudden a 19 year old who is very strong in the force and has a distinct resembalance to him in his younger days rolls in from Vader's home planet with his old Master Obi-Wan (Who was the ONLY other person preset at the time his wife died. And to boot, the kid's last name is Skywalker.
So in answer to your question, he knew Luke was his son because his name is Darth Vader, and not Darth Retard.
-Forum post on why Vader knew Luke was his son.