The problem is, chilli, that the PM has not had the legislation to deal with migration from the EU. Quite the contrary, in fact, because EU legislation, by which the UK is bound, provides for free movement of people across the union. They do not have to have a reason to come here; they do not have to have employment here or want to study here; they do not have to have connections here. Preventing people moving from Sofia to London is no more possible than preventing people moving from Liverpool to London. If they want to come, they come, and that's that.
This is the utter folly of the EU and, as has been mentioned by Zeuhl, it was a fine principle when the EU consisted of a dozen or so member states all with similar economies. Now it is made up of 28 nations and the difference in living standards between, say, the UK and Bulgaria or Romania is enormous.
Furthermore, as I have said before, the publication of "net" migration figures hides the real problem. In fact more than 560,000 people arrived to settle in the UK in the year to March 2014. The effect is that the UK is having its population swapped. Those leaving are predominantly high skilled high net worth people; those arriving are predominantly low skilled low net worth people. This is reflected in the "job creation" figures which the government lauds. Most of the new jobs are low skilled and/or part time jobs and those taking them need considerable support in the way of benefits to sustain a living.
Successive governments have brushed this under the carpet and have told the electorate not to be silly - it is good for them. Well it isn't and Mr Cameron has absolutely no chance of gaining any concessions from the EU on the principle of free movement. The only way out of the mess (or, rather, to prevent it getting any worse) is for the UK to withdraw from the EU now. Contrary to the scaremongers life will go on, and for people in the UK it will be a whole lot better.