Page MenuHomeFreeBSD

D30573.id90178.diff
No OneTemporary

D30573.id90178.diff

Index: sys/netinet/libalias/alias_db.c
===================================================================
--- sys/netinet/libalias/alias_db.c
+++ sys/netinet/libalias/alias_db.c
@@ -839,6 +839,15 @@
TAILQ_INSERT_TAIL(&la->checkExpire, (*lnk), list_expire);
}
+static inline struct alias_link *
+UseLink(struct libalias *la, struct alias_link *lnk)
+{
+ CleanupLink(la, &lnk);
+ if (lnk != NULL)
+ lnk->timestamp = LibAliasTime;
+ return (lnk);
+}
+
static void
DeleteLink(struct alias_link **plnk)
{
@@ -1119,10 +1128,7 @@
i = StartPointOut(src_addr, dst_addr, src_port, dst_port, link_type);
LIST_FOREACH(lnk, &la->linkTableOut[i], list_out) {
OUTGUARD;
- CleanupLink(la, &lnk);
- if (lnk != NULL)
- lnk->timestamp = LibAliasTime;
- return (lnk);
+ return (UseLink(la, lnk));
}
return (NULL);
@@ -1242,12 +1248,8 @@
LIST_FOREACH(lnk, &la->linkTableIn[start_point], list_in) {
INGUARD;
if (lnk->dst_addr.s_addr == dst_addr.s_addr
- && lnk->dst_port == dst_port) {
- CleanupLink(la, &lnk);
- if (lnk != NULL)
- lnk->timestamp = LibAliasTime;
- return (lnk);
- }
+ && lnk->dst_port == dst_port)
+ return (UseLink(la, lnk));
}
} else {
LIST_FOREACH(lnk, &la->linkTableIn[start_point], list_in) {
@@ -1613,8 +1615,7 @@
lnk->src_port == src_call_id)
break;
- CleanupLink(la, &lnk);
- return (lnk);
+ return (UseLink(la, lnk));
}
struct alias_link *
@@ -1634,8 +1635,7 @@
lnk->dst_port == dst_call_id)
break;
- CleanupLink(la, &lnk);
- return (lnk);
+ return (UseLink(la, lnk));
}
struct alias_link *
@@ -1653,8 +1653,7 @@
lnk->dst_port == dst_call_id)
break;
- CleanupLink(la, &lnk);
- return (lnk);
+ return (UseLink(la, lnk));
}
struct alias_link *

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 1, 10:18 AM (17 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30674302
Default Alt Text
D30573.id90178.diff (1 KB)

Event Timeline