aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/processing/jobs/inactivity_job.c
Commit message (Collapse)AuthorAgeFilesLines
* Use standard unsigned integer typesAndreas Steffen2016-03-241-5/+5
|
* inactivity-job: Schedule job by CHILD_SA unique ID instead of reqidMartin Willi2015-02-201-8/+8
|
* ike: Restart inactivity counter after doing a CHILD_SA rekeyMartin Willi2014-01-231-2/+3
| | | | | | | | | | | | When doing a rekey for a CHILD_SA, the use counters get reset. An inactivity job is queued for a time unrelated to the rekey time, so it might happen that the inactivity job gets executed just after rekeying. If this happens, inactivity is detected even if we had traffic on the rekeyed CHILD_SA just before rekeying. This change implies that inactivity checks can't handle inactivity timeouts for rekeyed CHILD_SAs, and therefore requires that inactivity timeout is shorter than the rekey time to have any effect.
* child_sa_t.get_usestats() can additionally return the number of processed ↵Martin Willi2013-03-141-3/+2
| | | | packets
* Make rescheduling a job more predictableTobias Brunner2012-06-251-6/+4
| | | | | | | | | | | | | This avoids race conditions between calls to cancel() and jobs that like to be rescheduled. If jobs were able to reschedule themselves it would theoretically be possible that two worker threads have the same job assigned (the one currently executing the job and the one executing the same but rescheduled job if it already is time to execute it), this means that cancel() could be called twice for that job. Creating a new job based on the current one and reschedule that is also OK, but rescheduling itself is more efficient for jobs that need to be executed often.
* Give processor_t more control over the lifecycle of a jobTobias Brunner2012-06-251-3/+4
| | | | | | | | | | | Jobs are now destroyed by the processor, but they are allowed to reschedule themselves. That is, parts of the reschedule functionality already provided by callback_job_t is moved to the processor. Not yet fully supported is JOB_REQUEUE_DIRECT and canceling jobs. Note: job_t.destroy() is now called not only for queued jobs but also after execution or cancellation of jobs. job_t.status can be used to decide what to do in said method.
* Do not query CHILD_SA during delete if they already expiredMartin Willi2012-03-201-1/+1
|
* Replaced ike_sa_t.create_child_sa_iterator with enumerator.Tobias Brunner2011-07-061-4/+4
| | | | | This required two new methods on ike_sa_t. One returns the number of CHILD_SAs and one allows to remove a CHILD_SA.
* Introduce priority classes for jobsMartin Willi2011-05-161-1/+8
|
* Refer to scheduler and processor via lib and not hydra.Tobias Brunner2010-09-021-2/+1
|
* Refer to scheduler via hydra and not charon.Tobias Brunner2010-09-021-1/+2
|
* Use a seperate section for each nested struct member in INIT macroMartin Willi2010-08-181-3/+5
|
* Moving charon to libcharon.Tobias Brunner2010-03-191-0/+150