code: func assembleStats(msg []byte) (SvcStats, error) {
  
  	var s SvcStats
  
  	attrs, err := nl.ParseRouteAttr(msg)
  	if err != nil {
  		return s, err
  	}
  
  	for _, attr := range attrs {
  		attrType := int(attr.Attr.Type)
  		switch attrType {
  		case ipvsSvcStatsConns:
  			s.Connections = native.Uint32(attr.Value)
  		case ipvsSvcStatsPktsIn:
  			s.PacketsIn = native.Uint32(attr.Value)
  		case ipvsSvcStatsPktsOut:
  			s.PacketsOut = native.Uint32(attr.Value)
  		case ipvsSvcStatsBytesIn:
  			s.BytesIn = native.Uint64(attr.Value)
  		case ipvsSvcStatsBytesOut:
  			s.BytesOut = native.Uint64(attr.Value)
  		case ipvsSvcStatsCPS:
  			s.CPS = native.Uint32(attr.Value)
  		case ipvsSvcStatsPPSIn:
  			s.PPSIn = native.Uint32(attr.Value)
  		case ipvsSvcStatsPPSOut:
  			s.PPSOut = native.Uint32(attr.Value)
  		case ipvsSvcStatsBPSIn:
  			s.BPSIn = native.Uint32(attr.Value)
  		case ipvsSvcStatsBPSOut:
  			s.BPSOut = native.Uint32(attr.Value)
  		}
  	}
  	return s, nil
  }
docs: // parseStats