switch protocol