srp_update_locked
#define srp_update(_gc, _srp, _v) srp_update_locked((_gc), (_srp), (_v))
srp_update_locked(&rtmap_gc, &afmap[af2idx[af]], nmap);
#define srp_update(_gc, _srp, _v) srp_update_locked((_gc), (_srp), (_v))
srp_update_locked(&(_rc)->srpl_gc, \
srp_update_locked(&(_rc)->srpl_gc, &(_sl)->sl_head, (_e)); \
srp_update_locked(&(_rc)->srpl_gc, \
srp_update_locked(&(_rc)->srpl_gc, \
srp_update_locked(&(_rc)->srpl_gc, ref, n); \
srp_update_locked(&(_rc)->srpl_gc, &c->_ENTRY.se_next, NULL); \
void srp_update_locked(struct srp_gc *, struct srp *, void *);