|
version 1.4, 2022/08/13 18:08:19
|
version 1.5, 2022/08/16 00:32:41
|
|
Line 1
|
Line 1
|
| diff --git a/sys/netinet/libalias/alias_db.c b/sys/netinet/libalias/alias_db.c |
diff --git a/sys/netinet/libalias/alias_db.c b/sys/netinet/libalias/alias_db.c |
| index 4612b32c139..af552f20aa7 100644 | index 4612b32c139..cd18638ac17 100644 |
| --- a/sys/netinet/libalias/alias_db.c |
--- a/sys/netinet/libalias/alias_db.c |
| +++ b/sys/netinet/libalias/alias_db.c |
+++ b/sys/netinet/libalias/alias_db.c |
| @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); |
@@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); |
|
Line 32 index 4612b32c139..af552f20aa7 100644
|
Line 32 index 4612b32c139..af552f20aa7 100644
|
| static LIST_HEAD(, libalias) instancehead = LIST_HEAD_INITIALIZER(instancehead); |
static LIST_HEAD(, libalias) instancehead = LIST_HEAD_INITIALIZER(instancehead); |
| int LibAliasTime; |
int LibAliasTime; |
| |
|
| @@ -708,6 +724,10 @@ AddLink(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr, | @@ -566,9 +582,14 @@ AddLink(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr, |
| | int alias_port_param, int link_type) |
| | { |
| | struct alias_link *lnk; |
| | + int sync = 0; |
| | |
| | LIBALIAS_LOCK_ASSERT(la); |
| | |
| | + if (link_type & LINK_SYNC_MASK) |
| | + sync = 42; |
| | + link_type &= ~LINK_SYNC_MASK; |
| | + |
| | lnk = malloc(sizeof(struct alias_link)); |
| | if (lnk == NULL) { |
| | #ifdef LIBALIAS_DEBUG |
| | @@ -708,6 +729,9 @@ AddLink(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr, |
| if (la->packetAliasMode & PKT_ALIAS_LOG) |
if (la->packetAliasMode & PKT_ALIAS_LOG) |
| ShowAliasStats(la); |
ShowAliasStats(la); |
| |
|
| +#ifdef IPFW_INTERNAL | + if (!sync && lnk && V_hook_alias) |
| + if (lnk && V_hook_alias) | |
| + V_hook_alias(lnk, NULL); |
+ V_hook_alias(lnk, NULL); |
| +#endif | + |
| return (lnk); |
return (lnk); |
| } |
} |
| |
|