code: func (lb *LoadBalancerRR) newServiceInternal(svcPort proxy.ServicePortName, affinityType v1.ServiceAffinity, ttlSeconds int) *balancerState {
  	if ttlSeconds == 0 {
  		ttlSeconds = int(v1.DefaultClientIPServiceAffinitySeconds) //default to 3 hours if not specified.  Should 0 be unlimited instead????
  	}
  
  	if _, exists := lb.services[svcPort]; !exists {
  		lb.services[svcPort] = &balancerState{affinity: *newAffinityPolicy(affinityType, ttlSeconds)}
  		klog.V(4).Infof("LoadBalancerRR service %q did not exist, created", svcPort)
  	} else if affinityType != "" {
  		lb.services[svcPort].affinity.affinityType = affinityType
  	}
  	return lb.services[svcPort]
  }
docs: // This assumes that lb.lock is already held.