Canadian soldier among 23 killed in Afghanistan weekend violence