Diff for /fwsync/patches/alias_db.patch between versions 1.5 and 1.6

version 1.5, 2022/08/16 00:32:41 version 1.6, 2022/08/23 14:27:13
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..cd18638ac17 100644index 4612b32c139..7ef0282fdb8 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 10  index 4612b32c139..cd18638ac17 100644 Line 10  index 4612b32c139..cd18638ac17 100644
  #else   #else
  #include "alias.h"   #include "alias.h"
  #include "alias_local.h"   #include "alias_local.h"
@@ -63,6 +64,21 @@ __FBSDID("$FreeBSD$");@@ -63,6 +64,23 @@ __FBSDID("$FreeBSD$");
     
  #include "alias_db.h"   #include "alias_db.h"
     
   +#ifdef _KERNEL
 +#ifndef V_hook_alias  +#ifndef V_hook_alias
 +typedef int (*ipfw_hook_t)(const void *arg, const void *extdata);  +typedef int (*ipfw_hook_t)(const void *arg, const void *extdata);
 +/* callback hooks for notify on update of internal states and aliases */  +/* callback hooks for notify on update of internal states and aliases */
Line 28  index 4612b32c139..cd18638ac17 100644 Line 29  index 4612b32c139..cd18638ac17 100644
 +#endif  +#endif
 +  +
 +VNET_DEFINE(ipfw_hook_t, hook_alias) = NULL;  +VNET_DEFINE(ipfw_hook_t, hook_alias) = NULL;
   +#endif
 +  +
  static LIST_HEAD(, libalias) instancehead = LIST_HEAD_INITIALIZER(instancehead);   static LIST_HEAD(, libalias) instancehead = LIST_HEAD_INITIALIZER(instancehead);
  int LibAliasTime;   int LibAliasTime;
     
@@ -566,9 +582,14 @@ AddLink(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr,@@ -566,9 +584,14 @@ AddLink(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr,
      int alias_port_param, int link_type)       int alias_port_param, int link_type)
  {   {
         struct alias_link *lnk;          struct alias_link *lnk;
Line 47  index 4612b32c139..cd18638ac17 100644 Line 49  index 4612b32c139..cd18638ac17 100644
         lnk = malloc(sizeof(struct alias_link));          lnk = malloc(sizeof(struct alias_link));
         if (lnk == NULL) {          if (lnk == NULL) {
  #ifdef LIBALIAS_DEBUG   #ifdef LIBALIAS_DEBUG
@@ -708,6 +729,9 @@ AddLink(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr,@@ -708,6 +731,11 @@ 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 _KERNEL
 +       if (!sync && lnk && V_hook_alias)  +       if (!sync && lnk && V_hook_alias)
 +               V_hook_alias(lnk, NULL);  +               V_hook_alias(lnk, NULL);
   +#endif
 +  +
         return (lnk);          return (lnk);
  }   }

Removed from v.1.5  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>