Thousands of people have taken part in demonstrations across South Africa calling for tougher action against undocumented migrants, in what some accounts describe as the largest anti-immigration mobilisation in recent years.