Lines Matching refs:la
276 static int ProtoAliasIn(struct libalias *la, struct in_addr ip_src,
278 static int ProtoAliasOut(struct libalias *la, struct ip *pip,
289 IcmpAliasIn1(struct libalias *la, struct ip *pip) in IcmpAliasIn1() argument
292 LIBALIAS_LOCK_ASSERT(la); in IcmpAliasIn1()
303 lnk = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1); in IcmpAliasIn1()
334 IcmpAliasIn2(struct libalias *la, struct ip *pip) in IcmpAliasIn2() argument
337 LIBALIAS_LOCK_ASSERT(la); in IcmpAliasIn2()
356 lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, in IcmpAliasIn2()
360 lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, in IcmpAliasIn2()
365 lnk = FindIcmpIn(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0); in IcmpAliasIn2()
435 IcmpAliasIn(struct libalias *la, struct ip *pip) in IcmpAliasIn() argument
441 LIBALIAS_LOCK_ASSERT(la); in IcmpAliasIn()
448 if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) in IcmpAliasIn()
458 iresult = IcmpAliasIn1(la, pip); in IcmpAliasIn()
468 iresult = IcmpAliasIn2(la, pip); in IcmpAliasIn()
472 iresult = IcmpAliasIn1(la, pip); in IcmpAliasIn()
479 IcmpAliasOut1(struct libalias *la, struct ip *pip, int create) in IcmpAliasOut1() argument
488 LIBALIAS_LOCK_ASSERT(la); in IcmpAliasOut1()
492 lnk = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, create); in IcmpAliasOut1()
523 IcmpAliasOut2(struct libalias *la, struct ip *pip) in IcmpAliasOut2() argument
535 LIBALIAS_LOCK_ASSERT(la); in IcmpAliasOut2()
544 lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, in IcmpAliasOut2()
548 lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, in IcmpAliasOut2()
553 lnk = FindIcmpOut(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0); in IcmpAliasOut2()
623 IcmpAliasOut(struct libalias *la, struct ip *pip, int create) in IcmpAliasOut() argument
628 LIBALIAS_LOCK_ASSERT(la); in IcmpAliasOut()
632 if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) in IcmpAliasOut()
642 iresult = IcmpAliasOut1(la, pip, create); in IcmpAliasOut()
649 iresult = IcmpAliasOut2(la, pip); in IcmpAliasOut()
653 iresult = IcmpAliasOut1(la, pip, create); in IcmpAliasOut()
659 ProtoAliasIn(struct libalias *la, struct in_addr ip_src, in ProtoAliasIn() argument
670 LIBALIAS_LOCK_ASSERT(la); in ProtoAliasIn()
672 if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) in ProtoAliasIn()
675 lnk = FindProtoIn(la, ip_src, pip->ip_dst, ip_p); in ProtoAliasIn()
692 ProtoAliasOut(struct libalias *la, struct ip *pip, in ProtoAliasOut() argument
702 LIBALIAS_LOCK_ASSERT(la); in ProtoAliasOut()
705 if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) in ProtoAliasOut()
711 lnk = FindProtoOut(la, pip->ip_src, ip_dst, ip_p); in ProtoAliasOut()
728 UdpAliasIn(struct libalias *la, struct ip *pip) in UdpAliasIn() argument
734 LIBALIAS_LOCK_ASSERT(la); in UdpAliasIn()
744 lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, in UdpAliasIn()
746 IPPROTO_UDP, !(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)); in UdpAliasIn()
773 error = find_handler(IN, UDP, la, pip, &ad); in UdpAliasIn()
822 UdpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create) in UdpAliasOut() argument
834 LIBALIAS_LOCK_ASSERT(la); in UdpAliasOut()
845 proxy_type = ProxyCheck(la, &proxy_server_address, in UdpAliasOut()
848 if (proxy_type == 0 && (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)) in UdpAliasOut()
874 lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst, in UdpAliasOut()
896 ProxyModify(la, lnk, pip, maxpacketsize, proxy_type); in UdpAliasOut()
904 error = find_handler(OUT, UDP, la, pip, &ad); in UdpAliasOut()
931 TcpAliasIn(struct libalias *la, struct ip *pip) in TcpAliasIn() argument
937 LIBALIAS_LOCK_ASSERT(la); in TcpAliasIn()
944 lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, in TcpAliasIn()
947 !(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)); in TcpAliasIn()
973 error = find_handler(IN, TCP, la, pip, &ad); in TcpAliasIn()
999 error = find_handler(la, pip, &ad); in TcpAliasIn()
1058 TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create) in TcpAliasOut() argument
1069 LIBALIAS_LOCK_ASSERT(la); in TcpAliasOut()
1077 proxy_type = ProxyCheck(la, &proxy_server_address, in TcpAliasOut()
1083 if (proxy_type == 0 && (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)) in TcpAliasOut()
1105 lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst, in TcpAliasOut()
1130 ProxyModify(la, lnk, pip, maxpacketsize, proxy_type); in TcpAliasOut()
1142 error = find_handler(OUT, TCP, la, pip, &ad); in TcpAliasOut()
1191 static int FragmentIn(struct libalias *la, struct in_addr ip_src,
1197 FragmentIn(struct libalias *la, struct in_addr ip_src, struct ip *pip, in FragmentIn() argument
1202 LIBALIAS_LOCK_ASSERT(la); in FragmentIn()
1203 lnk = FindFragmentIn2(la, ip_src, pip->ip_dst, ip_id); in FragmentIn()
1218 FragmentOut(struct libalias *la, struct ip *pip, u_short *ip_sum) in FragmentOut() argument
1222 LIBALIAS_LOCK_ASSERT(la); in FragmentOut()
1223 alias_address = FindAliasAddress(la, pip->ip_src); in FragmentOut()
1244 LibAliasSaveFragment(struct libalias *la, void *ptr) in LibAliasSaveFragment() argument
1250 LIBALIAS_LOCK(la); in LibAliasSaveFragment()
1252 lnk = AddFragmentPtrLink(la, pip->ip_src, pip->ip_id); in LibAliasSaveFragment()
1258 LIBALIAS_UNLOCK(la); in LibAliasSaveFragment()
1263 LibAliasGetFragment(struct libalias *la, void *ptr) in LibAliasGetFragment() argument
1269 LIBALIAS_LOCK(la); in LibAliasGetFragment()
1271 lnk = FindFragmentPtr(la, pip->ip_src, pip->ip_id); in LibAliasGetFragment()
1279 LIBALIAS_UNLOCK(la); in LibAliasGetFragment()
1284 LibAliasFragmentIn(struct libalias *la, void *ptr, /* Points to correctly in LibAliasFragmentIn() argument
1294 LIBALIAS_LOCK(la); in LibAliasFragmentIn()
1295 (void)la; in LibAliasFragmentIn()
1302 LIBALIAS_UNLOCK(la); in LibAliasFragmentIn()
1307 LibAliasOutLocked(struct libalias *la, struct ip *pip,
1310 LibAliasInLocked(struct libalias *la, struct ip *pip,
1314 LibAliasIn(struct libalias *la, void *ptr, int maxpacketsize) in LibAliasIn() argument
1318 LIBALIAS_LOCK(la); in LibAliasIn()
1319 res = LibAliasInLocked(la, (struct ip *)ptr, maxpacketsize); in LibAliasIn()
1320 LIBALIAS_UNLOCK(la); in LibAliasIn()
1325 LibAliasInLocked(struct libalias *la, struct ip *pip, int maxpacketsize) in LibAliasInLocked() argument
1330 if (la->packetAliasMode & PKT_ALIAS_REVERSE) { in LibAliasInLocked()
1331 la->packetAliasMode &= ~PKT_ALIAS_REVERSE; in LibAliasInLocked()
1332 iresult = LibAliasOutLocked(la, pip, maxpacketsize, 1); in LibAliasInLocked()
1333 la->packetAliasMode |= PKT_ALIAS_REVERSE; in LibAliasInLocked()
1336 HouseKeeping(la); in LibAliasInLocked()
1337 ClearCheckNewLink(la); in LibAliasInLocked()
1351 iresult = IcmpAliasIn(la, pip); in LibAliasInLocked()
1354 iresult = UdpAliasIn(la, pip); in LibAliasInLocked()
1357 iresult = TcpAliasIn(la, pip); in LibAliasInLocked()
1361 iresult = SctpAlias(la, pip, SN_TO_LOCAL); in LibAliasInLocked()
1377 error = find_handler(IN, IP, la, pip, &ad); in LibAliasInLocked()
1381 iresult = ProtoAliasIn(la, pip->ip_src, in LibAliasInLocked()
1386 iresult = ProtoAliasIn(la, pip->ip_src, pip, in LibAliasInLocked()
1394 lnk = FindFragmentIn1(la, pip->ip_src, alias_addr, pip->ip_id); in LibAliasInLocked()
1403 iresult = FragmentIn(la, pip->ip_src, pip, pip->ip_id, in LibAliasInLocked()
1430 LibAliasOut(struct libalias *la, void *ptr, int maxpacketsize) in LibAliasOut() argument
1434 LIBALIAS_LOCK(la); in LibAliasOut()
1435 res = LibAliasOutLocked(la, (struct ip *)ptr, maxpacketsize, 1); in LibAliasOut()
1436 LIBALIAS_UNLOCK(la); in LibAliasOut()
1441 LibAliasOutTry(struct libalias *la, void *ptr, int maxpacketsize, int create) in LibAliasOutTry() argument
1445 LIBALIAS_LOCK(la); in LibAliasOutTry()
1446 res = LibAliasOutLocked(la, (struct ip *)ptr, maxpacketsize, create); in LibAliasOutTry()
1447 LIBALIAS_UNLOCK(la); in LibAliasOutTry()
1452 LibAliasOutLocked(struct libalias *la, struct ip *pip, /* valid IP packet */ in LibAliasOutLocked() argument
1461 if (la->packetAliasMode & PKT_ALIAS_REVERSE) { in LibAliasOutLocked()
1462 la->packetAliasMode &= ~PKT_ALIAS_REVERSE; in LibAliasOutLocked()
1463 iresult = LibAliasInLocked(la, pip, maxpacketsize); in LibAliasOutLocked()
1464 la->packetAliasMode |= PKT_ALIAS_REVERSE; in LibAliasOutLocked()
1467 HouseKeeping(la); in LibAliasOutLocked()
1468 ClearCheckNewLink(la); in LibAliasOutLocked()
1477 addr_save = GetDefaultAliasAddress(la); in LibAliasOutLocked()
1478 if (la->packetAliasMode & PKT_ALIAS_UNREGISTERED_ONLY || in LibAliasOutLocked()
1479 la->packetAliasMode & PKT_ALIAS_UNREGISTERED_CGN) { in LibAliasOutLocked()
1492 la->packetAliasMode & PKT_ALIAS_UNREGISTERED_CGN) in LibAliasOutLocked()
1496 SetDefaultAliasAddress(la, pip->ip_src); in LibAliasOutLocked()
1498 } else if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) { in LibAliasOutLocked()
1499 SetDefaultAliasAddress(la, pip->ip_src); in LibAliasOutLocked()
1505 iresult = IcmpAliasOut(la, pip, create); in LibAliasOutLocked()
1508 iresult = UdpAliasOut(la, pip, maxpacketsize, create); in LibAliasOutLocked()
1511 iresult = TcpAliasOut(la, pip, maxpacketsize, create); in LibAliasOutLocked()
1515 iresult = SctpAlias(la, pip, SN_TO_GLOBAL); in LibAliasOutLocked()
1530 error = find_handler(OUT, IP, la, pip, &ad); in LibAliasOutLocked()
1534 iresult = ProtoAliasOut(la, pip, in LibAliasOutLocked()
1539 iresult = ProtoAliasOut(la, pip, in LibAliasOutLocked()
1544 iresult = FragmentOut(la, pip, &pip->ip_sum); in LibAliasOutLocked()
1547 SetDefaultAliasAddress(la, addr_save); in LibAliasOutLocked()
1553 LibAliasUnaliasOut(struct libalias *la, void *ptr, /* valid IP packet */ in LibAliasUnaliasOut() argument
1564 LIBALIAS_LOCK(la); in LibAliasUnaliasOut()
1578 lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src, in LibAliasUnaliasOut()
1582 lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src, in LibAliasUnaliasOut()
1586 lnk = FindIcmpIn(la, pip->ip_dst, pip->ip_src, ic->icmp_id, 0); in LibAliasUnaliasOut()
1654 LIBALIAS_UNLOCK(la); in LibAliasUnaliasOut()