--- fwsync/patches/alias_db.patch 2022/08/13 18:08:19 1.4 +++ fwsync/patches/alias_db.patch 2022/08/16 00:32:41 1.5 @@ -1,5 +1,5 @@ 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 +++ b/sys/netinet/libalias/alias_db.c @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); @@ -32,14 +32,28 @@ index 4612b32c139..af552f20aa7 100644 static LIST_HEAD(, libalias) instancehead = LIST_HEAD_INITIALIZER(instancehead); 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) ShowAliasStats(la); -+#ifdef IPFW_INTERNAL -+ if (lnk && V_hook_alias) ++ if (!sync && lnk && V_hook_alias) + V_hook_alias(lnk, NULL); -+#endif ++ return (lnk); }