Sri Lanka says kills 21 rebels in fighting in north