aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLutz Donnerhacke <donner@FreeBSD.org>2021-05-15 13:24:12 +0000
committerLutz Donnerhacke <donner@FreeBSD.org>2021-06-07 05:48:07 +0000
commitfc2d7fb643f83fff73b1038734b934fdafa946c3 (patch)
tree6f12da2b8ef2f3219dc19c01ec28ef673168ac72
parentd1b7ff3dac5727fba692e7de999e9b6834b72659 (diff)
downloadsrc-fc2d7fb643f83fff73b1038734b934fdafa946c3.tar.gz
src-fc2d7fb643f83fff73b1038734b934fdafa946c3.zip
libalias: Remove unused function LibAliasCheckNewLink
The functionality to detect a newly created link after processing a single packet is decoupled from the packet processing. Every new packet is processed asynchronously and will reset the indicator, hence the function is unusable. I made a Google search for third party code, which uses the function, and failed to find one. That's why the function should be removed: It unusable and unused. A much simplified API/ABI will remain in anything below 14. Discussed with: kp Reviewed by: manpages (bcr) Differential Revision: https://reviews.freebsd.org/D30275 (cherry picked from commit bfd41ba1fe1d0e40b6a813aeb0354cac8d884f5b)
-rw-r--r--sys/netinet/libalias/alias.c2
-rw-r--r--sys/netinet/libalias/alias.h4
-rw-r--r--sys/netinet/libalias/alias_db.c17
-rw-r--r--sys/netinet/libalias/alias_local.h4
-rw-r--r--sys/netinet/libalias/libalias.312
5 files changed, 7 insertions, 32 deletions
diff --git a/sys/netinet/libalias/alias.c b/sys/netinet/libalias/alias.c
index 0e2756affcb4..39e9b060623d 100644
--- a/sys/netinet/libalias/alias.c
+++ b/sys/netinet/libalias/alias.c
@@ -1330,7 +1330,6 @@ LibAliasInLocked(struct libalias *la, struct ip *pip, int maxpacketsize)
goto getout;
}
HouseKeeping(la);
- ClearCheckNewLink(la);
alias_addr = pip->ip_dst;
/* Defense against mangled packets */
@@ -1461,7 +1460,6 @@ LibAliasOutLocked(struct libalias *la,
goto getout;
}
HouseKeeping(la);
- ClearCheckNewLink(la);
/* Defense against mangled packets */
if (ntohs(pip->ip_len) > maxpacketsize
diff --git a/sys/netinet/libalias/alias.h b/sys/netinet/libalias/alias.h
index 36f1ca168823..558a750b4fd8 100644
--- a/sys/netinet/libalias/alias.h
+++ b/sys/netinet/libalias/alias.h
@@ -120,10 +120,12 @@ void *LibAliasGetFragment(struct libalias *, void *_ptr);
int LibAliasSaveFragment(struct libalias *, void *_ptr);
/* Miscellaneous functions. */
-int LibAliasCheckNewLink(struct libalias *);
unsigned short LibAliasInternetChecksum(struct libalias *, unsigned short *_ptr, int _nbytes);
void LibAliasSetTarget(struct libalias *, struct in_addr _target_addr);
+/* never used and never worked, to be removed in FreeBSD 14 */
+int LibAliasCheckNewLink(struct libalias *);
+
/* Transparent proxying routines. */
int LibAliasProxyRule(struct libalias *, const char *_cmd);
diff --git a/sys/netinet/libalias/alias_db.c b/sys/netinet/libalias/alias_db.c
index 7a84cf310d5a..0273cc84773d 100644
--- a/sys/netinet/libalias/alias_db.c
+++ b/sys/netinet/libalias/alias_db.c
@@ -1675,7 +1675,6 @@ FindOriginalAddress(struct libalias *la, struct in_addr alias_addr)
lnk = FindLinkIn(la, ANY_ADDR, alias_addr,
0, 0, LINK_ADDR, 0);
if (lnk == NULL) {
- la->newDefaultLink = 1;
if (la->targetAddress.s_addr == INADDR_ANY)
return (alias_addr);
else if (la->targetAddress.s_addr == INADDR_NONE)
@@ -2053,13 +2052,6 @@ SetExpire(struct alias_link *lnk, int expire)
}
void
-ClearCheckNewLink(struct libalias *la)
-{
- LIBALIAS_LOCK_ASSERT(la);
- la->newDefaultLink = 0;
-}
-
-void
SetProtocolFlags(struct alias_link *lnk, int pflags)
{
lnk->pflags = pflags;
@@ -2548,15 +2540,12 @@ getout:
return (res);
}
+/* never used and never worked, to be removed in FreeBSD 14 */
int
LibAliasCheckNewLink(struct libalias *la)
{
- int res;
-
- LIBALIAS_LOCK(la);
- res = la->newDefaultLink;
- LIBALIAS_UNLOCK(la);
- return (res);
+ (void)la;
+ return (0);
}
#ifndef NO_FW_PUNCH
diff --git a/sys/netinet/libalias/alias_local.h b/sys/netinet/libalias/alias_local.h
index 63bfd857f14f..61cd30737ce5 100644
--- a/sys/netinet/libalias/alias_local.h
+++ b/sys/netinet/libalias/alias_local.h
@@ -118,9 +118,6 @@ struct libalias {
#else
FILE *logDesc;
#endif
- /* Indicates if a new aliasing link has been created
- * after a call to PacketAliasIn/Out(). */
- int newDefaultLink;
#ifndef NO_FW_PUNCH
/* File descriptor to be able to control firewall.
@@ -323,7 +320,6 @@ int GetDeltaSeqOut(u_long, struct alias_link *lnk);
void AddSeq(struct alias_link *lnk, int delta, u_int ip_hl,
u_short ip_len, u_long th_seq, u_int th_off);
void SetExpire (struct alias_link *_lnk, int _expire);
-void ClearCheckNewLink(struct libalias *la);
void SetProtocolFlags(struct alias_link *_lnk, int _pflags);
int GetProtocolFlags(struct alias_link *_lnk);
void SetDestCallId(struct alias_link *_lnk, u_int16_t _cid);
diff --git a/sys/netinet/libalias/libalias.3 b/sys/netinet/libalias/libalias.3
index beef2ff7fca5..85ebe55f527c 100644
--- a/sys/netinet/libalias/libalias.3
+++ b/sys/netinet/libalias/libalias.3
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 1, 2020
+.Dd May 31, 2021
.Dt LIBALIAS 3
.Os
.Sh NAME
@@ -863,16 +863,6 @@ This allows external machines to talk directly to internal machines if they
can route packets to the machine in question.
.Ed
.Pp
-.Ft int
-.Fn LibAliasCheckNewLink "struct libalias *"
-.Bd -ragged -offset indent
-This function returns a non-zero value when a new aliasing link is created.
-In circumstances where incoming traffic is being sequentially sent to
-different local servers, this function can be used to trigger when
-.Fn LibAliasSetTarget
-is called to change the default target address.
-.Ed
-.Pp
.Ft u_short
.Fn LibAliasInternetChecksum "struct libalias *" "u_short *buffer" "int nbytes"
.Bd -ragged -offset indent