Lines Matching refs:lnk

564 GetNewPort(struct libalias *la, struct alias_link *lnk, int alias_port_param)  in GetNewPort()  argument
596 port_net = lnk->src_port; in GetNewPort()
605 lnk->alias_port = (u_short) alias_port_param; in GetNewPort()
620 search_result = FindLinkIn(la, lnk->dst_addr, lnk->alias_addr, in GetNewPort()
621 lnk->dst_port, port_net, in GetNewPort()
622 lnk->link_type, 0); in GetNewPort()
626 else if (!(lnk->flags & LINK_PARTIALLY_SPECIFIED) in GetNewPort()
635 && (lnk->flags & LINK_PARTIALLY_SPECIFIED) in GetNewPort()
636 && ((lnk->link_type == LINK_TCP) || in GetNewPort()
637 (lnk->link_type == LINK_UDP))) { in GetNewPort()
638 if (GetSocket(la, port_net, &lnk->sockfd, lnk->link_type)) { in GetNewPort()
639 lnk->alias_port = port_net; in GetNewPort()
644 lnk->alias_port = port_net; in GetNewPort()
805 struct alias_link *lnk; in CleanupAliasData() local
810 lnk = LIST_FIRST(&la->linkTableOut[i]); in CleanupAliasData()
811 while (lnk != NULL) { in CleanupAliasData()
812 struct alias_link *link_next = LIST_NEXT(lnk, list_out); in CleanupAliasData()
813 DeleteLink(lnk); in CleanupAliasData()
814 lnk = link_next; in CleanupAliasData()
824 struct alias_link *lnk, *lnk_tmp; in IncrementalCleanup() local
827 LIST_FOREACH_SAFE(lnk, &la->linkTableOut[la->cleanupIndex++], in IncrementalCleanup()
829 if (la->timeStamp - lnk->timestamp > lnk->expire_time) in IncrementalCleanup()
830 DeleteLink(lnk); in IncrementalCleanup()
838 DeleteLink(struct alias_link *lnk) in DeleteLink() argument
840 struct libalias *la = lnk->la; in DeleteLink()
844 if (la->deleteAllLinks == 0 && lnk->flags & LINK_PERMANENT) in DeleteLink()
849 ClearFWHole(lnk); in DeleteLink()
853 if (lnk->server != NULL) { in DeleteLink()
856 head = curr = lnk->server; in DeleteLink()
863 LIST_REMOVE(lnk, list_out); in DeleteLink()
866 LIST_REMOVE(lnk, list_in); in DeleteLink()
869 if (lnk->sockfd != -1) { in DeleteLink()
871 close(lnk->sockfd); in DeleteLink()
875 switch (lnk->link_type) { in DeleteLink()
884 free(lnk->data.tcp); in DeleteLink()
894 if (lnk->data.frag_ptr != NULL) in DeleteLink()
895 free(lnk->data.frag_ptr); in DeleteLink()
905 free(lnk); in DeleteLink()
919 struct alias_link *lnk; in AddLink() local
922 lnk = malloc(sizeof(struct alias_link)); in AddLink()
923 if (lnk != NULL) { in AddLink()
925 lnk->la = la; in AddLink()
926 lnk->src_addr = src_addr; in AddLink()
927 lnk->dst_addr = dst_addr; in AddLink()
928 lnk->alias_addr = alias_addr; in AddLink()
929 lnk->proxy_addr.s_addr = INADDR_ANY; in AddLink()
930 lnk->src_port = src_port; in AddLink()
931 lnk->dst_port = dst_port; in AddLink()
932 lnk->proxy_port = 0; in AddLink()
933 lnk->server = NULL; in AddLink()
934 lnk->link_type = link_type; in AddLink()
936 lnk->sockfd = -1; in AddLink()
938 lnk->flags = 0; in AddLink()
939 lnk->pflags = 0; in AddLink()
940 lnk->timestamp = la->timeStamp; in AddLink()
945 lnk->expire_time = ICMP_EXPIRE_TIME; in AddLink()
948 lnk->expire_time = UDP_EXPIRE_TIME; in AddLink()
951 lnk->expire_time = TCP_EXPIRE_INITIAL; in AddLink()
954 lnk->flags |= LINK_PERMANENT; /* no timeout. */ in AddLink()
957 lnk->expire_time = FRAGMENT_ID_EXPIRE_TIME; in AddLink()
960 lnk->expire_time = FRAGMENT_PTR_EXPIRE_TIME; in AddLink()
965 lnk->expire_time = PROTO_EXPIRE_TIME; in AddLink()
971 lnk->flags |= LINK_UNKNOWN_DEST_ADDR; in AddLink()
973 lnk->flags |= LINK_UNKNOWN_DEST_PORT; in AddLink()
976 if (GetNewPort(la, lnk, alias_port_param) != 0) { in AddLink()
977 free(lnk); in AddLink()
1003 lnk->data.tcp = aux_tcp; in AddLink()
1009 free(lnk); in AddLink()
1032 LIST_INSERT_HEAD(&la->linkTableOut[start_point], lnk, list_out); in AddLink()
1035 start_point = StartPointIn(alias_addr, lnk->alias_port, link_type); in AddLink()
1036 LIST_INSERT_HEAD(&la->linkTableIn[start_point], lnk, list_in); in AddLink()
1046 return (lnk); in AddLink()
1087 struct alias_link *lnk; in _FindLinkOut() local
1091 LIST_FOREACH(lnk, &la->linkTableOut[i], list_out) { in _FindLinkOut()
1092 if (lnk->dst_addr.s_addr == dst_addr.s_addr && in _FindLinkOut()
1093 lnk->src_addr.s_addr == src_addr.s_addr && in _FindLinkOut()
1094 lnk->src_port == src_port && in _FindLinkOut()
1095 lnk->dst_port == dst_port && in _FindLinkOut()
1096 lnk->link_type == link_type && in _FindLinkOut()
1097 lnk->server == NULL) { in _FindLinkOut()
1098 lnk->timestamp = la->timeStamp; in _FindLinkOut()
1104 if (lnk == NULL && replace_partial_links) { in _FindLinkOut()
1106 lnk = _FindLinkOut(la, src_addr, dst_addr, src_port, 0, in _FindLinkOut()
1108 if (lnk == NULL) in _FindLinkOut()
1109 lnk = _FindLinkOut(la, src_addr, la->nullAddress, src_port, in _FindLinkOut()
1112 if (lnk == NULL && in _FindLinkOut()
1114 lnk = _FindLinkOut(la, src_addr, la->nullAddress, src_port, 0, in _FindLinkOut()
1117 if (lnk != NULL) { in _FindLinkOut()
1118 lnk = ReLink(lnk, in _FindLinkOut()
1119 src_addr, dst_addr, lnk->alias_addr, in _FindLinkOut()
1120 src_port, dst_port, lnk->alias_port, in _FindLinkOut()
1124 return (lnk); in _FindLinkOut()
1135 struct alias_link *lnk; in FindLinkOut() local
1138 lnk = _FindLinkOut(la, src_addr, dst_addr, src_port, dst_port, in FindLinkOut()
1141 if (lnk == NULL) { in FindLinkOut()
1150 lnk = _FindLinkOut(la, la->nullAddress, dst_addr, src_port, dst_port, in FindLinkOut()
1154 return (lnk); in FindLinkOut()
1167 struct alias_link *lnk; in _FindLinkIn() local
1191 LIST_FOREACH(lnk, &la->linkTableIn[start_point], list_in) { in _FindLinkIn()
1194 flags = flags_in | lnk->flags; in _FindLinkIn()
1196 if (lnk->alias_addr.s_addr == alias_addr.s_addr in _FindLinkIn()
1197 && lnk->alias_port == alias_port in _FindLinkIn()
1198 && lnk->dst_addr.s_addr == dst_addr.s_addr in _FindLinkIn()
1199 && lnk->dst_port == dst_port in _FindLinkIn()
1200 && lnk->link_type == link_type) { in _FindLinkIn()
1201 lnk_fully_specified = lnk; in _FindLinkIn()
1206 if (lnk->alias_addr.s_addr == alias_addr.s_addr in _FindLinkIn()
1207 && lnk->alias_port == alias_port in _FindLinkIn()
1208 && lnk->link_type == link_type) { in _FindLinkIn()
1210 lnk_unknown_all = lnk; in _FindLinkIn()
1213 if (lnk->alias_addr.s_addr == alias_addr.s_addr in _FindLinkIn()
1214 && lnk->alias_port == alias_port in _FindLinkIn()
1215 && lnk->link_type == link_type in _FindLinkIn()
1216 && lnk->dst_port == dst_port) { in _FindLinkIn()
1218 lnk_unknown_dst_addr = lnk; in _FindLinkIn()
1221 if (lnk->alias_addr.s_addr == alias_addr.s_addr in _FindLinkIn()
1222 && lnk->alias_port == alias_port in _FindLinkIn()
1223 && lnk->link_type == link_type in _FindLinkIn()
1224 && lnk->dst_addr.s_addr == dst_addr.s_addr) { in _FindLinkIn()
1226 lnk_unknown_dst_port = lnk; in _FindLinkIn()
1233 lnk = lnk_fully_specified; in _FindLinkIn()
1235 lnk = lnk_unknown_dst_port; in _FindLinkIn()
1237 lnk = lnk_unknown_dst_addr; in _FindLinkIn()
1239 lnk = lnk_unknown_all; in _FindLinkIn()
1244 (lnk->flags & LINK_PARTIALLY_SPECIFIED || lnk->server != NULL)) { in _FindLinkIn()
1248 if (lnk->server != NULL) { /* LSNAT link */ in _FindLinkIn()
1249 src_addr = lnk->server->addr; in _FindLinkIn()
1250 src_port = lnk->server->port; in _FindLinkIn()
1251 lnk->server = lnk->server->next; in _FindLinkIn()
1253 src_addr = lnk->src_addr; in _FindLinkIn()
1254 src_port = lnk->src_port; in _FindLinkIn()
1258 lnk->src_addr = src_addr; in _FindLinkIn()
1259 lnk->src_port = src_port; in _FindLinkIn()
1260 return(lnk); in _FindLinkIn()
1262 lnk = ReLink(lnk, in _FindLinkIn()
1267 return (lnk); in _FindLinkIn()
1278 struct alias_link *lnk; in FindLinkIn() local
1281 lnk = _FindLinkIn(la, dst_addr, alias_addr, dst_port, alias_port, in FindLinkIn()
1284 if (lnk == NULL) { in FindLinkIn()
1293 lnk = _FindLinkIn(la, dst_addr, la->nullAddress, dst_port, alias_port, in FindLinkIn()
1297 return (lnk); in FindLinkIn()
1322 struct alias_link *lnk; in FindIcmpIn() local
1325 lnk = FindLinkIn(la, dst_addr, alias_addr, in FindIcmpIn()
1328 if (lnk == NULL && create && !(la->packetAliasMode & PKT_ALIAS_DENY_INCOMING)) { in FindIcmpIn()
1332 lnk = AddLink(la, target_addr, dst_addr, alias_addr, in FindIcmpIn()
1336 return (lnk); in FindIcmpIn()
1345 struct alias_link *lnk; in FindIcmpOut() local
1348 lnk = FindLinkOut(la, src_addr, dst_addr, in FindIcmpOut()
1351 if (lnk == NULL && create) { in FindIcmpOut()
1355 lnk = AddLink(la, src_addr, dst_addr, alias_addr, in FindIcmpOut()
1359 return (lnk); in FindIcmpOut()
1367 struct alias_link *lnk; in FindFragmentIn1() local
1370 lnk = FindLinkIn(la, dst_addr, alias_addr, in FindFragmentIn1()
1374 if (lnk == NULL) { in FindFragmentIn1()
1375 lnk = AddLink(la, la->nullAddress, dst_addr, alias_addr, in FindFragmentIn1()
1379 return (lnk); in FindFragmentIn1()
1422 struct alias_link *lnk; in FindProtoIn() local
1425 lnk = FindLinkIn(la, dst_addr, alias_addr, in FindProtoIn()
1429 if (lnk == NULL && !(la->packetAliasMode & PKT_ALIAS_DENY_INCOMING)) { in FindProtoIn()
1433 lnk = AddLink(la, target_addr, dst_addr, alias_addr, in FindProtoIn()
1437 return (lnk); in FindProtoIn()
1445 struct alias_link *lnk; in FindProtoOut() local
1448 lnk = FindLinkOut(la, src_addr, dst_addr, in FindProtoOut()
1452 if (lnk == NULL) { in FindProtoOut()
1456 lnk = AddLink(la, src_addr, dst_addr, alias_addr, in FindProtoOut()
1460 return (lnk); in FindProtoOut()
1472 struct alias_link *lnk; in FindUdpTcpIn() local
1487 lnk = FindLinkIn(la, dst_addr, alias_addr, in FindUdpTcpIn()
1491 if (lnk == NULL && create && !(la->packetAliasMode & PKT_ALIAS_DENY_INCOMING)) { in FindUdpTcpIn()
1495 lnk = AddLink(la, target_addr, dst_addr, alias_addr, in FindUdpTcpIn()
1499 return (lnk); in FindUdpTcpIn()
1511 struct alias_link *lnk; in FindUdpTcpOut() local
1526 lnk = FindLinkOut(la, src_addr, dst_addr, src_port, dst_port, link_type, create); in FindUdpTcpOut()
1528 if (lnk == NULL && create) { in FindUdpTcpOut()
1532 lnk = AddLink(la, src_addr, dst_addr, alias_addr, in FindUdpTcpOut()
1536 return (lnk); in FindUdpTcpOut()
1545 struct alias_link *lnk; in AddPptp() local
1548 lnk = AddLink(la, src_addr, dst_addr, alias_addr, in AddPptp()
1552 return (lnk); in AddPptp()
1561 struct alias_link *lnk; in FindPptpOutByCallId() local
1565 LIST_FOREACH(lnk, &la->linkTableOut[i], list_out) in FindPptpOutByCallId()
1566 if (lnk->link_type == LINK_PPTP && in FindPptpOutByCallId()
1567 lnk->src_addr.s_addr == src_addr.s_addr && in FindPptpOutByCallId()
1568 lnk->dst_addr.s_addr == dst_addr.s_addr && in FindPptpOutByCallId()
1569 lnk->src_port == src_call_id) in FindPptpOutByCallId()
1572 return (lnk); in FindPptpOutByCallId()
1581 struct alias_link *lnk; in FindPptpOutByPeerCallId() local
1585 LIST_FOREACH(lnk, &la->linkTableOut[i], list_out) in FindPptpOutByPeerCallId()
1586 if (lnk->link_type == LINK_PPTP && in FindPptpOutByPeerCallId()
1587 lnk->src_addr.s_addr == src_addr.s_addr && in FindPptpOutByPeerCallId()
1588 lnk->dst_addr.s_addr == dst_addr.s_addr && in FindPptpOutByPeerCallId()
1589 lnk->dst_port == dst_call_id) in FindPptpOutByPeerCallId()
1592 return (lnk); in FindPptpOutByPeerCallId()
1601 struct alias_link *lnk; in FindPptpInByCallId() local
1605 LIST_FOREACH(lnk, &la->linkTableIn[i], list_in) in FindPptpInByCallId()
1606 if (lnk->link_type == LINK_PPTP && in FindPptpInByCallId()
1607 lnk->dst_addr.s_addr == dst_addr.s_addr && in FindPptpInByCallId()
1608 lnk->alias_addr.s_addr == alias_addr.s_addr && in FindPptpInByCallId()
1609 lnk->dst_port == dst_call_id) in FindPptpInByCallId()
1612 return (lnk); in FindPptpInByCallId()
1620 struct alias_link *lnk; in FindPptpInByPeerCallId() local
1623 lnk = FindLinkIn(la, dst_addr, alias_addr, in FindPptpInByPeerCallId()
1627 return (lnk); in FindPptpInByPeerCallId()
1638 struct alias_link *lnk; in FindRtspOut() local
1653 lnk = FindLinkOut(la, src_addr, dst_addr, src_port, 0, link_type, 1); in FindRtspOut()
1655 if (lnk == NULL) { in FindRtspOut()
1659 lnk = AddLink(la, src_addr, dst_addr, alias_addr, in FindRtspOut()
1663 return (lnk); in FindRtspOut()
1669 struct alias_link *lnk; in FindOriginalAddress() local
1672 lnk = FindLinkIn(la, la->nullAddress, alias_addr, in FindOriginalAddress()
1674 if (lnk == NULL) { in FindOriginalAddress()
1684 if (lnk->server != NULL) { /* LSNAT link */ in FindOriginalAddress()
1687 src_addr = lnk->server->addr; in FindOriginalAddress()
1688 lnk->server = lnk->server->next; in FindOriginalAddress()
1690 } else if (lnk->src_addr.s_addr == INADDR_ANY) in FindOriginalAddress()
1694 return (lnk->src_addr); in FindOriginalAddress()
1701 struct alias_link *lnk; in FindAliasAddress() local
1704 lnk = FindLinkOut(la, original_addr, la->nullAddress, in FindAliasAddress()
1706 if (lnk == NULL) { in FindAliasAddress()
1710 if (lnk->alias_addr.s_addr == INADDR_ANY) in FindAliasAddress()
1714 return (lnk->alias_addr); in FindAliasAddress()
1733 SetFragmentAddr(struct alias_link *lnk, struct in_addr src_addr) in SetFragmentAddr() argument
1735 lnk->data.frag_addr = src_addr; in SetFragmentAddr()
1739 GetFragmentAddr(struct alias_link *lnk, struct in_addr *src_addr) in GetFragmentAddr() argument
1741 *src_addr = lnk->data.frag_addr; in GetFragmentAddr()
1745 SetFragmentPtr(struct alias_link *lnk, void *fptr) in SetFragmentPtr() argument
1747 lnk->data.frag_ptr = fptr; in SetFragmentPtr()
1751 GetFragmentPtr(struct alias_link *lnk, void **fptr) in GetFragmentPtr() argument
1753 *fptr = lnk->data.frag_ptr; in GetFragmentPtr()
1757 SetStateIn(struct alias_link *lnk, int state) in SetStateIn() argument
1762 if (lnk->data.tcp->state.out != ALIAS_TCP_STATE_CONNECTED) in SetStateIn()
1763 lnk->expire_time = TCP_EXPIRE_DEAD; in SetStateIn()
1765 lnk->expire_time = TCP_EXPIRE_SINGLEDEAD; in SetStateIn()
1768 if (lnk->data.tcp->state.out == ALIAS_TCP_STATE_CONNECTED) in SetStateIn()
1769 lnk->expire_time = TCP_EXPIRE_CONNECTED; in SetStateIn()
1778 lnk->data.tcp->state.in = state; in SetStateIn()
1782 SetStateOut(struct alias_link *lnk, int state) in SetStateOut() argument
1787 if (lnk->data.tcp->state.in != ALIAS_TCP_STATE_CONNECTED) in SetStateOut()
1788 lnk->expire_time = TCP_EXPIRE_DEAD; in SetStateOut()
1790 lnk->expire_time = TCP_EXPIRE_SINGLEDEAD; in SetStateOut()
1793 if (lnk->data.tcp->state.in == ALIAS_TCP_STATE_CONNECTED) in SetStateOut()
1794 lnk->expire_time = TCP_EXPIRE_CONNECTED; in SetStateOut()
1803 lnk->data.tcp->state.out = state; in SetStateOut()
1807 GetStateIn(struct alias_link *lnk) in GetStateIn() argument
1810 return (lnk->data.tcp->state.in); in GetStateIn()
1814 GetStateOut(struct alias_link *lnk) in GetStateOut() argument
1817 return (lnk->data.tcp->state.out); in GetStateOut()
1821 GetOriginalAddress(struct alias_link *lnk) in GetOriginalAddress() argument
1823 if (lnk->src_addr.s_addr == INADDR_ANY) in GetOriginalAddress()
1824 return (lnk->la->aliasAddress); in GetOriginalAddress()
1826 return (lnk->src_addr); in GetOriginalAddress()
1830 GetDestAddress(struct alias_link *lnk) in GetDestAddress() argument
1832 return (lnk->dst_addr); in GetDestAddress()
1836 GetAliasAddress(struct alias_link *lnk) in GetAliasAddress() argument
1838 if (lnk->alias_addr.s_addr == INADDR_ANY) in GetAliasAddress()
1839 return (lnk->la->aliasAddress); in GetAliasAddress()
1841 return (lnk->alias_addr); in GetAliasAddress()
1861 GetOriginalPort(struct alias_link *lnk) in GetOriginalPort() argument
1863 return (lnk->src_port); in GetOriginalPort()
1867 GetAliasPort(struct alias_link *lnk) in GetAliasPort() argument
1869 return (lnk->alias_port); in GetAliasPort()
1874 GetDestPort(struct alias_link *lnk) in GetDestPort() argument
1876 return (lnk->dst_port); in GetDestPort()
1882 SetAckModified(struct alias_link *lnk) in SetAckModified() argument
1885 lnk->data.tcp->state.ack_modified = 1; in SetAckModified()
1889 GetProxyAddress(struct alias_link *lnk) in GetProxyAddress() argument
1891 return (lnk->proxy_addr); in GetProxyAddress()
1895 SetProxyAddress(struct alias_link *lnk, struct in_addr addr) in SetProxyAddress() argument
1897 lnk->proxy_addr = addr; in SetProxyAddress()
1901 GetProxyPort(struct alias_link *lnk) in GetProxyPort() argument
1903 return (lnk->proxy_port); in GetProxyPort()
1907 SetProxyPort(struct alias_link *lnk, u_short port) in SetProxyPort() argument
1909 lnk->proxy_port = port; in SetProxyPort()
1913 GetAckModified(struct alias_link *lnk) in GetAckModified() argument
1916 return (lnk->data.tcp->state.ack_modified); in GetAckModified()
1921 GetDeltaAckIn(u_long ack, struct alias_link *lnk) in GetDeltaAckIn() argument
1937 x = lnk->data.tcp->ack[i]; in GetDeltaAckIn()
1960 GetDeltaSeqOut(u_long seq, struct alias_link *lnk) in GetDeltaSeqOut() argument
1976 x = lnk->data.tcp->ack[i]; in GetDeltaSeqOut()
1999 AddSeq(struct alias_link *lnk, int delta, u_int ip_hl, u_short ip_len, in AddSeq() argument
2021 i = lnk->data.tcp->state.index; in AddSeq()
2022 lnk->data.tcp->ack[i] = x; in AddSeq()
2026 lnk->data.tcp->state.index = 0; in AddSeq()
2028 lnk->data.tcp->state.index = i; in AddSeq()
2032 SetExpire(struct alias_link *lnk, int expire) in SetExpire() argument
2035 lnk->flags &= ~LINK_PERMANENT; in SetExpire()
2036 DeleteLink(lnk); in SetExpire()
2038 lnk->flags |= LINK_PERMANENT; in SetExpire()
2040 lnk->expire_time = expire; in SetExpire()
2058 SetProtocolFlags(struct alias_link *lnk, int pflags) in SetProtocolFlags() argument
2061 lnk->pflags = pflags; in SetProtocolFlags()
2065 GetProtocolFlags(struct alias_link *lnk) in GetProtocolFlags() argument
2068 return (lnk->pflags); in GetProtocolFlags()
2072 SetDestCallId(struct alias_link *lnk, u_int16_t cid) in SetDestCallId() argument
2074 struct libalias *la = lnk->la; in SetDestCallId()
2078 ReLink(lnk, lnk->src_addr, lnk->dst_addr, lnk->alias_addr, in SetDestCallId()
2079 lnk->src_port, cid, lnk->alias_port, lnk->link_type); in SetDestCallId()
2206 struct alias_link *lnk; in LibAliasRedirectPort() local
2224 lnk = NULL; in LibAliasRedirectPort()
2228 lnk = AddLink(la, src_addr, dst_addr, alias_addr, in LibAliasRedirectPort()
2232 if (lnk != NULL) { in LibAliasRedirectPort()
2233 lnk->flags |= LINK_PERMANENT; in LibAliasRedirectPort()
2244 return (lnk); in LibAliasRedirectPort()
2249 LibAliasAddServer(struct libalias *la, struct alias_link *lnk, struct in_addr addr, u_short port) in LibAliasAddServer() argument
2265 head = lnk->server; in LibAliasAddServer()
2275 lnk->server = server; in LibAliasAddServer()
2292 struct alias_link *lnk; in LibAliasRedirectProto() local
2295 lnk = AddLink(la, src_addr, dst_addr, alias_addr, in LibAliasRedirectProto()
2299 if (lnk != NULL) { in LibAliasRedirectProto()
2300 lnk->flags |= LINK_PERMANENT; in LibAliasRedirectProto()
2310 return (lnk); in LibAliasRedirectProto()
2318 struct alias_link *lnk; in LibAliasRedirectAddr() local
2321 lnk = AddLink(la, src_addr, la->nullAddress, alias_addr, in LibAliasRedirectAddr()
2325 if (lnk != NULL) { in LibAliasRedirectAddr()
2326 lnk->flags |= LINK_PERMANENT; in LibAliasRedirectAddr()
2336 return (lnk); in LibAliasRedirectAddr()
2341 LibAliasRedirectDynamic(struct libalias *la, struct alias_link *lnk) in LibAliasRedirectDynamic() argument
2348 if (lnk->flags & LINK_PARTIALLY_SPECIFIED) in LibAliasRedirectDynamic()
2351 lnk->flags &= ~LINK_PERMANENT; in LibAliasRedirectDynamic()
2359 LibAliasRedirectDelete(struct libalias *la, struct alias_link *lnk) in LibAliasRedirectDelete() argument
2366 DeleteLink(lnk); in LibAliasRedirectDelete()
2685 PunchFWHole(struct alias_link *lnk) in PunchFWHole() argument
2692 la = lnk->la; in PunchFWHole()
2697 lnk->link_type != LINK_TCP) in PunchFWHole()
2732 if (GetOriginalPort(lnk) != 0 && GetDestPort(lnk) != 0) { in PunchFWHole()
2738 GetOriginalAddress(lnk), ntohs(GetOriginalPort(lnk)), in PunchFWHole()
2739 GetDestAddress(lnk), ntohs(GetDestPort(lnk))); in PunchFWHole()
2746 GetDestAddress(lnk), ntohs(GetDestPort(lnk)), in PunchFWHole()
2747 GetOriginalAddress(lnk), ntohs(GetOriginalPort(lnk))); in PunchFWHole()
2754 lnk->data.tcp->fwhole = fwhole; in PunchFWHole()
2761 ClearFWHole(struct alias_link *lnk) in ClearFWHole() argument
2765 la = lnk->la; in ClearFWHole()
2766 if (lnk->link_type == LINK_TCP) { in ClearFWHole()
2767 int fwhole = lnk->data.tcp->fwhole; /* Where is the firewall in ClearFWHole()
2778 lnk->data.tcp->fwhole = -1; in ClearFWHole()
2831 struct alias_link *lnk; in FindSctpRedirectAddress() local
2835 lnk = FindLinkIn(la, sm->ip_hdr->ip_src, sm->ip_hdr->ip_dst, in FindSctpRedirectAddress()
2837 if (lnk != NULL) { in FindSctpRedirectAddress()
2838 return(lnk->src_addr); /* port redirect */ in FindSctpRedirectAddress()
2843 lnk = FindLinkIn(la, sm->ip_hdr->ip_src, sm->ip_hdr->ip_dst, in FindSctpRedirectAddress()
2845 if (lnk != NULL) in FindSctpRedirectAddress()
2846 return(lnk->src_addr); /* redirect proto */ in FindSctpRedirectAddress()