예제 #1
0
static int fl6_renew(struct ip6_flowlabel *fl, unsigned long linger, unsigned long expires)
{
	linger = check_linger(linger);
	if (!linger)
		return -EPERM;
	expires = check_linger(expires);
	if (!expires)
		return -EPERM;
	fl->lastuse = jiffies;
	if (time_before(fl->linger, linger))
		fl->linger = linger;
	if (time_before(expires, fl->linger))
		expires = fl->linger;
	if (time_before(fl->expires, fl->lastuse + expires))
		fl->expires = fl->lastuse + expires;
	return 0;
}
예제 #2
0
static int fl6_renew(struct ip6_flowlabel *fl, unsigned linger, unsigned expires)
{
	linger = check_linger(linger);
	if (!linger)
		return -EPERM;
	expires = check_linger(expires);
	if (!expires)
		return -EPERM;
	fl->lastuse = jiffies;
	if (fl->linger < linger)
		fl->linger = linger;
	if (expires < fl->linger)
		expires = fl->linger;
	if ((long)(fl->expires - (fl->lastuse+expires)) < 0)
		fl->expires = fl->lastuse + expires;
	return 0;
}