I agree with most of this. It's not "anti-immigrant" what i'm saying, i have no problems with most immigrants, i have many friends who are immigrants. I have a problem with a country that does a poor job at maintaining a strong national identity, and has problems with unity because of it. The fact you call it "anti-immigrant" is the kind of nonsense that makes it impossible for anyone to even talk about these issues without being accused of being a xenophobe racist.
We barely teach Canadian history in our schools. ie: Virtually nobody in this country knows hardly anything about any Prime Ministers who were in power before they were born, besides Sir John A. How many Canadians can name the Prime Minister who was in power during WWII, or WWI? Do you personally know who Canada's 2nd PM was? How about the 3rd, or 4th? How many Canadians have even ever heard of the Statute of Westminster, basically our Declaration of Independence? We have a problem with nationalism. If you don't know anything about your country it's hard to be proud of it.
And yes it's up to both Canadians and immigrants have to work on integration of cultures. I agree that ethnic enclaves are formed in part because of discrimination, but it also has to do with many of them not wanting to integrate and stick to their own kind and cultures, and governments that not only do nothing to help this problem but actively encourage it through official multiculturalism.
Interculturalism is a far better idea than multiculturalism. Interculturalism means different people of different cultures living side-by-side, not segregating themselves.