add setsocketopt