As tens of thousands of marchers crowded the streets, the throng of people with flags had the air of a festival rather than a protest.