Lines Matching defs:la
272 static int ProtoAliasIn(struct libalias *la, struct in_addr ip_src,
274 static int ProtoAliasOut(struct libalias *la, struct ip *pip,
289 IcmpAliasIn1(struct libalias *la, struct ip *pip)
294 LIBALIAS_LOCK_ASSERT(la);
298 lnk = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1);
333 IcmpAliasIn2(struct libalias *la, struct ip *pip)
341 LIBALIAS_LOCK_ASSERT(la);
350 lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src,
354 lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src,
359 lnk = FindIcmpIn(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0);
430 IcmpAliasIn(struct libalias *la, struct ip *pip)
436 LIBALIAS_LOCK_ASSERT(la);
443 if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
453 iresult = IcmpAliasIn1(la, pip);
463 iresult = IcmpAliasIn2(la, pip);
467 iresult = IcmpAliasIn1(la, pip);
478 IcmpAliasOut1(struct libalias *la, struct ip *pip, int create)
483 LIBALIAS_LOCK_ASSERT(la);
487 lnk = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, create);
522 IcmpAliasOut2(struct libalias *la, struct ip *pip)
530 LIBALIAS_LOCK_ASSERT(la);
539 lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src,
543 lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src,
548 lnk = FindIcmpOut(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0);
618 IcmpAliasOut(struct libalias *la, struct ip *pip, int create)
623 LIBALIAS_LOCK_ASSERT(la);
627 if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
637 iresult = IcmpAliasOut1(la, pip, create);
644 iresult = IcmpAliasOut2(la, pip);
648 iresult = IcmpAliasOut1(la, pip, create);
660 ProtoAliasIn(struct libalias *la, struct in_addr ip_src,
665 LIBALIAS_LOCK_ASSERT(la);
667 if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
670 lnk = FindProtoIn(la, ip_src, pip->ip_dst, ip_p);
692 ProtoAliasOut(struct libalias *la, struct ip *pip,
697 LIBALIAS_LOCK_ASSERT(la);
700 if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
706 lnk = FindProtoOut(la, pip->ip_src, ip_dst, ip_p);
744 UdpAliasIn(struct libalias *la, struct ip *pip)
749 LIBALIAS_LOCK_ASSERT(la);
755 lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
757 IPPROTO_UDP, !(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY));
784 error = find_handler(IN, UDP, la, pip, &ad);
835 UdpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create)
845 LIBALIAS_LOCK_ASSERT(la);
852 proxy_type = ProxyCheck(la, &proxy_server_address, &proxy_server_port,
854 if (proxy_type == 0 && (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY))
880 lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst,
902 ProxyModify(la, lnk, pip, maxpacketsize, proxy_type);
910 find_handler(OUT, UDP, la, pip, &ad);
937 TcpAliasIn(struct libalias *la, struct ip *pip)
943 LIBALIAS_LOCK_ASSERT(la);
950 lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
953 !(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY));
979 find_handler(IN, TCP, la, pip, &ad);
1005 error = find_handler(la, pip, &ad);
1064 TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create)
1075 LIBALIAS_LOCK_ASSERT(la);
1083 proxy_type = ProxyCheck(la, &proxy_server_address,
1089 if (proxy_type == 0 && (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY))
1111 lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst,
1136 ProxyModify(la, lnk, pip, maxpacketsize, proxy_type);
1148 find_handler(OUT, TCP, la, pip, &ad);
1197 static int FragmentIn(struct libalias *la, struct in_addr ip_src,
1203 FragmentIn(struct libalias *la, struct in_addr ip_src, struct ip *pip,
1208 LIBALIAS_LOCK_ASSERT(la);
1209 lnk = FindFragmentIn2(la, ip_src, pip->ip_dst, ip_id);
1224 FragmentOut(struct libalias *la, struct ip *pip, u_short *ip_sum)
1228 LIBALIAS_LOCK_ASSERT(la);
1229 alias_address = FindAliasAddress(la, pip->ip_src);
1250 LibAliasSaveFragment(struct libalias *la, void *ptr)
1256 LIBALIAS_LOCK(la);
1258 lnk = AddFragmentPtrLink(la, pip->ip_src, pip->ip_id);
1264 LIBALIAS_UNLOCK(la);
1269 LibAliasGetFragment(struct libalias *la, void *ptr)
1275 LIBALIAS_LOCK(la);
1277 lnk = FindFragmentPtr(la, pip->ip_src, pip->ip_id);
1285 LIBALIAS_UNLOCK(la);
1290 LibAliasFragmentIn(struct libalias *la,
1298 LIBALIAS_LOCK(la);
1299 (void)la;
1306 LIBALIAS_UNLOCK(la);
1311 LibAliasOutLocked(struct libalias *la, struct ip *pip,
1314 LibAliasInLocked(struct libalias *la, struct ip *pip,
1318 LibAliasIn(struct libalias *la, void *ptr, int maxpacketsize)
1322 LIBALIAS_LOCK(la);
1323 res = LibAliasInLocked(la, (struct ip *)ptr, maxpacketsize);
1324 LIBALIAS_UNLOCK(la);
1329 LibAliasInLocked(struct libalias *la, struct ip *pip, int maxpacketsize)
1334 if (la->packetAliasMode & PKT_ALIAS_REVERSE) {
1335 la->packetAliasMode &= ~PKT_ALIAS_REVERSE;
1336 iresult = LibAliasOutLocked(la, pip, maxpacketsize, 1);
1337 la->packetAliasMode |= PKT_ALIAS_REVERSE;
1340 HouseKeeping(la);
1351 iresult = FragmentIn(la, pip->ip_src, pip, pip->ip_id,
1359 iresult = IcmpAliasIn(la, pip);
1362 iresult = UdpAliasIn(la, pip);
1365 iresult = TcpAliasIn(la, pip);
1369 iresult = SctpAlias(la, pip, SN_TO_LOCAL);
1385 error = find_handler(IN, IP, la, pip, &ad);
1389 iresult = ProtoAliasIn(la, pip->ip_src,
1394 iresult = ProtoAliasIn(la, pip->ip_src, pip,
1402 lnk = FindFragmentIn1(la, pip->ip_src, alias_addr, pip->ip_id);
1434 LibAliasOut(struct libalias *la, void *ptr, int maxpacketsize)
1438 LIBALIAS_LOCK(la);
1439 res = LibAliasOutLocked(la, (struct ip *)ptr, maxpacketsize, 1);
1440 LIBALIAS_UNLOCK(la);
1445 LibAliasOutTry(struct libalias *la, void *ptr, int maxpacketsize, int create)
1449 LIBALIAS_LOCK(la);
1450 res = LibAliasOutLocked(la, (struct ip *)ptr, maxpacketsize, create);
1451 LIBALIAS_UNLOCK(la);
1456 LibAliasOutLocked(struct libalias *la,
1465 if (la->packetAliasMode & PKT_ALIAS_REVERSE) {
1466 la->packetAliasMode &= ~PKT_ALIAS_REVERSE;
1467 iresult = LibAliasInLocked(la, pip, maxpacketsize);
1468 la->packetAliasMode |= PKT_ALIAS_REVERSE;
1471 HouseKeeping(la);
1480 addr_save = GetDefaultAliasAddress(la);
1481 if (la->packetAliasMode & PKT_ALIAS_UNREGISTERED_ONLY ||
1482 la->packetAliasMode & PKT_ALIAS_UNREGISTERED_CGN) {
1495 la->packetAliasMode & PKT_ALIAS_UNREGISTERED_CGN)
1499 SetDefaultAliasAddress(la, pip->ip_src);
1501 } else if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) {
1502 SetDefaultAliasAddress(la, pip->ip_src);
1506 iresult = FragmentOut(la, pip, &pip->ip_sum);
1513 iresult = IcmpAliasOut(la, pip, create);
1516 iresult = UdpAliasOut(la, pip, maxpacketsize, create);
1519 iresult = TcpAliasOut(la, pip, maxpacketsize, create);
1523 iresult = SctpAlias(la, pip, SN_TO_GLOBAL);
1538 error = find_handler(OUT, IP, la, pip, &ad);
1542 iresult = ProtoAliasOut(la, pip,
1547 iresult = ProtoAliasOut(la, pip,
1553 SetDefaultAliasAddress(la, addr_save);
1559 LibAliasUnaliasOut(struct libalias *la,
1571 LIBALIAS_LOCK(la);
1585 lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src,
1589 lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src,
1593 lnk = FindIcmpIn(la, pip->ip_dst, pip->ip_src, ic->icmp_id, 0);
1660 LIBALIAS_UNLOCK(la);