Lines Matching refs:pip

191 TcpMonitorIn(struct ip *pip, struct alias_link *lnk)
195 tc = (struct tcphdr *)ip_next(pip);
212 TcpMonitorOut(struct ip *pip, struct alias_link *lnk)
216 tc = (struct tcphdr *)ip_next(pip);
296 IcmpAliasIn1(struct libalias *la, struct ip *pip)
308 ic = (struct icmp *)ip_next(pip);
311 lnk = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1);
331 DifferentialChecksum(&pip->ip_sum,
332 &original_address, &pip->ip_dst, 2);
333 pip->ip_dst = original_address;
342 IcmpAliasIn2(struct libalias *la, struct ip *pip)
357 ic = (struct icmp *)ip_next(pip);
401 DifferentialChecksum(&pip->ip_sum,
402 &original_address, &pip->ip_dst, 2);
403 pip->ip_dst = original_address;
429 DifferentialChecksum(&pip->ip_sum,
430 &original_address, &pip->ip_dst, 2);
431 pip->ip_dst = original_address;
445 IcmpAliasIn(struct libalias *la, struct ip *pip)
455 ic = (struct icmp *)ip_next(pip);
462 iresult = IcmpAliasIn1(la, pip);
469 iresult = IcmpAliasIn2(la, pip);
473 iresult = IcmpAliasIn1(la, pip);
481 IcmpAliasOut1(struct libalias *la, struct ip *pip, int create)
491 ic = (struct icmp *)ip_next(pip);
494 lnk = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, create);
514 DifferentialChecksum(&pip->ip_sum,
515 &alias_address, &pip->ip_src, 2);
516 pip->ip_src = alias_address;
526 IcmpAliasOut2(struct libalias *la, struct ip *pip)
539 ic = (struct icmp *)ip_next(pip);
582 if (pip->ip_src.s_addr == ip->ip_dst.s_addr) {
583 DifferentialChecksum(&pip->ip_sum,
584 &alias_address, &pip->ip_src, 2);
585 pip->ip_src = alias_address;
610 if (pip->ip_src.s_addr == ip->ip_dst.s_addr) {
611 DifferentialChecksum(&pip->ip_sum,
612 &alias_address, &pip->ip_src, 2);
613 pip->ip_src = alias_address;
627 IcmpAliasOut(struct libalias *la, struct ip *pip, int create)
639 ic = (struct icmp *)ip_next(pip);
646 iresult = IcmpAliasOut1(la, pip, create);
653 iresult = IcmpAliasOut2(la, pip);
657 iresult = IcmpAliasOut1(la, pip, create);
665 ProtoAliasIn(struct libalias *la, struct ip *pip)
680 lnk = FindProtoIn(la, pip->ip_src, pip->ip_dst, pip->ip_p);
687 DifferentialChecksum(&pip->ip_sum,
688 &original_address, &pip->ip_dst, 2);
689 pip->ip_dst = original_address;
698 ProtoAliasOut(struct libalias *la, struct ip *pip, int create)
714 lnk = FindProtoOut(la, pip->ip_src, pip->ip_dst, pip->ip_p);
721 DifferentialChecksum(&pip->ip_sum,
722 &alias_address, &pip->ip_src, 2);
723 pip->ip_src = alias_address;
732 UdpAliasIn(struct libalias *la, struct ip *pip)
742 ud = (struct udphdr *)ip_next(pip);
744 lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
769 error = find_handler(IN, UDP, la, pip, &ad);
781 DifferentialChecksum(&pip->ip_sum,
782 &original_address, &pip->ip_dst, 2);
783 pip->ip_dst = original_address;
797 UdpAliasOut(struct libalias *la, struct ip *pip, int create)
808 ud = (struct udphdr *)ip_next(pip);
810 lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst,
829 error = find_handler(OUT, UDP, la, pip, &ad);
838 accumulate += twowords(&pip->ip_src);
846 DifferentialChecksum(&pip->ip_sum,
847 &alias_address, &pip->ip_src, 2);
848 pip->ip_src = alias_address;
858 TcpAliasIn(struct libalias *la, struct ip *pip)
864 tc = (struct tcphdr *)ip_next(pip);
866 lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
894 error = find_handler(IN, TCP, la, pip, &ad);
920 error = find_handler(la, pip, &ad);
938 accumulate += twowords(&pip->ip_src);
945 delta = GetDeltaAckIn(pip, lnk);
955 accumulate = twowords(&pip->ip_dst);
956 pip->ip_dst = original_address;
957 accumulate -= twowords(&pip->ip_dst);
962 accumulate += twowords(&pip->ip_src);
963 pip->ip_src = proxy_address;
964 accumulate -= twowords(&pip->ip_src);
966 ADJUST_CHECKSUM(accumulate, pip->ip_sum);
969 TcpMonitorIn(pip, lnk);
977 TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create)
988 tc = (struct tcphdr *)ip_next(pip);
992 ProxyCheck(la, pip, &proxy_server_address, &proxy_server_port);
1002 dest_address = pip->ip_dst;
1009 accumulate += twowords(&pip->ip_dst);
1013 accumulate = twowords(&pip->ip_dst);
1014 pip->ip_dst = proxy_server_address;
1015 accumulate -= twowords(&pip->ip_dst);
1016 ADJUST_CHECKSUM(accumulate, pip->ip_sum);
1018 lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst,
1042 ProxyModify(la, lnk, pip, maxpacketsize, proxy_type);
1043 tc = (struct tcphdr *)ip_next(pip);
1050 TcpMonitorOut(pip, lnk);
1053 error = find_handler(OUT, TCP, la, pip, &ad);
1060 accumulate += twowords(&pip->ip_src);
1067 delta = GetDeltaSeqOut(pip, lnk);
1077 accumulate = twowords(&pip->ip_src);
1078 pip->ip_src = alias_address;
1079 accumulate -= twowords(&pip->ip_src);
1080 ADJUST_CHECKSUM(accumulate, pip->ip_sum);
1109 FragmentIn(struct libalias *la, struct ip *pip)
1114 lnk = FindFragmentIn2(la, pip->ip_src, pip->ip_dst, pip->ip_id);
1119 DifferentialChecksum(&pip->ip_sum,
1120 &original_address, &pip->ip_dst, 2);
1121 pip->ip_dst = original_address;
1130 FragmentOut(struct libalias *la, struct ip *pip)
1135 alias_address = FindAliasAddress(la, pip->ip_src);
1136 DifferentialChecksum(&pip->ip_sum,
1137 &alias_address, &pip->ip_src, 2);
1138 pip->ip_src = alias_address;
1166 struct ip *pip;
1169 pip = (struct ip *)ptr;
1170 lnk = AddFragmentPtrLink(la, pip->ip_src, pip->ip_id);
1186 struct ip *pip;
1189 pip = (struct ip *)ptr;
1190 lnk = FindFragmentPtr(la, pip->ip_src, pip->ip_id);
1211 struct ip *pip;
1216 pip = (struct ip *)ptr;
1220 &pip->ip_dst, &fpip->ip_dst, 2);
1221 fpip->ip_dst = pip->ip_dst;
1248 struct ip *pip;
1263 pip = (struct ip *)ptr;
1264 alias_addr = pip->ip_dst;
1267 if (ntohs(pip->ip_len) > maxpacketsize
1268 || (pip->ip_hl << 2) > maxpacketsize) {
1276 if ((ntohs(pip->ip_off) & IP_OFFMASK) == 0) {
1277 switch (pip->ip_p) {
1279 iresult = IcmpAliasIn(la, pip);
1282 iresult = UdpAliasIn(la, pip);
1285 iresult = TcpAliasIn(la, pip);
1300 error = find_handler(IN, IP, la, pip, &ad);
1304 iresult = ProtoAliasIn(la, pip);
1309 iresult = ProtoAliasIn(la, pip);
1313 if (ntohs(pip->ip_off) & IP_MF) {
1316 lnk = FindFragmentIn1(la, pip->ip_src, alias_addr, pip->ip_id);
1319 SetFragmentAddr(lnk, pip->ip_dst);
1325 iresult = FragmentIn(la, pip);
1383 struct ip *pip;
1393 pip = (struct ip *)ptr;
1396 if (ntohs(pip->ip_len) > maxpacketsize
1397 || (pip->ip_hl << 2) > maxpacketsize) {
1408 addr = ntohl(pip->ip_src.s_addr);
1417 SetDefaultAliasAddress(la, pip->ip_src);
1420 SetDefaultAliasAddress(la, pip->ip_src);
1425 if ((ntohs(pip->ip_off) & IP_OFFMASK) == 0) {
1426 switch (pip->ip_p) {
1428 iresult = IcmpAliasOut(la, pip, create);
1431 iresult = UdpAliasOut(la, pip, create);
1434 iresult = TcpAliasOut(la, pip, maxpacketsize, create);
1449 error = find_handler(OUT, IP, la, pip, &ad);
1453 iresult = ProtoAliasOut(la, pip, create);
1458 iresult = ProtoAliasOut(la, pip, create);
1462 iresult = FragmentOut(la, pip);
1475 struct ip *pip;
1483 pip = (struct ip *)ptr;
1486 if (ntohs(pip->ip_len) > maxpacketsize
1487 || (pip->ip_hl << 2) > maxpacketsize)
1490 ud = (struct udphdr *)ip_next(pip);
1491 tc = (struct tcphdr *)ip_next(pip);
1492 ic = (struct icmp *)ip_next(pip);
1495 if (pip->ip_p == IPPROTO_UDP)
1496 lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src,
1499 else if (pip->ip_p == IPPROTO_TCP)
1500 lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src,
1503 else if (pip->ip_p == IPPROTO_ICMP)
1504 lnk = FindIcmpIn(la, pip->ip_dst, pip->ip_src, ic->icmp_id, 0);
1510 if (pip->ip_p == IPPROTO_UDP || pip->ip_p == IPPROTO_TCP) {
1519 accumulate = twowords(&pip->ip_src);
1522 if (pip->ip_p == IPPROTO_UDP) {
1533 DifferentialChecksum(&pip->ip_sum,
1534 &original_address, &pip->ip_src, 2);
1537 pip->ip_src = original_address;
1538 if (pip->ip_p == IPPROTO_UDP)
1545 } else if (pip->ip_p == IPPROTO_ICMP) {
1555 accumulate = twowords(&pip->ip_src);
1562 DifferentialChecksum(&pip->ip_sum,
1563 &original_address, &pip->ip_src, 2);
1566 pip->ip_src = original_address;