Lines Matching defs:pip

293 IcmpAliasIn1(struct libalias *la, struct ip *pip)
304 ic = (struct icmp *)ip_next(pip);
307 lnk = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1);
327 DifferentialChecksum(&pip->ip_sum,
328 &original_address, &pip->ip_dst, 2);
329 pip->ip_dst = original_address;
338 IcmpAliasIn2(struct libalias *la, struct ip *pip)
352 ic = (struct icmp *)ip_next(pip);
396 DifferentialChecksum(&pip->ip_sum,
397 &original_address, &pip->ip_dst, 2);
398 pip->ip_dst = original_address;
424 DifferentialChecksum(&pip->ip_sum,
425 &original_address, &pip->ip_dst, 2);
426 pip->ip_dst = original_address;
440 IcmpAliasIn(struct libalias *la, struct ip *pip)
447 dlen = ntohs(pip->ip_len) - (pip->ip_hl << 2);
455 ic = (struct icmp *)ip_next(pip);
462 iresult = IcmpAliasIn1(la, pip);
472 iresult = IcmpAliasIn2(la, pip);
476 iresult = IcmpAliasIn1(la, pip);
484 IcmpAliasOut1(struct libalias *la, struct ip *pip, int create)
494 ic = (struct icmp *)ip_next(pip);
497 lnk = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, create);
517 DifferentialChecksum(&pip->ip_sum,
518 &alias_address, &pip->ip_src, 2);
519 pip->ip_src = alias_address;
529 IcmpAliasOut2(struct libalias *la, struct ip *pip)
542 ic = (struct icmp *)ip_next(pip);
585 if (pip->ip_src.s_addr == ip->ip_dst.s_addr) {
586 DifferentialChecksum(&pip->ip_sum,
587 &alias_address, &pip->ip_src, 2);
588 pip->ip_src = alias_address;
613 if (pip->ip_src.s_addr == ip->ip_dst.s_addr) {
614 DifferentialChecksum(&pip->ip_sum,
615 &alias_address, &pip->ip_src, 2);
616 pip->ip_src = alias_address;
630 IcmpAliasOut(struct libalias *la, struct ip *pip, int create)
642 ic = (struct icmp *)ip_next(pip);
649 iresult = IcmpAliasOut1(la, pip, create);
656 iresult = IcmpAliasOut2(la, pip);
660 iresult = IcmpAliasOut1(la, pip, create);
736 UdpAliasIn(struct libalias *la, struct ip *pip)
744 dlen = ntohs(pip->ip_len) - (pip->ip_hl << 2);
748 ud = (struct udphdr *)ip_next(pip);
752 lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
781 error = find_handler(IN, UDP, la, pip, &ad);
801 accumulate += twowords(&pip->ip_src);
814 DifferentialChecksum(&pip->ip_sum,
815 &proxy_address, &pip->ip_src, 2);
816 pip->ip_src = proxy_address;
820 DifferentialChecksum(&pip->ip_sum,
821 &original_address, &pip->ip_dst, 2);
822 pip->ip_dst = original_address;
830 UdpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create)
844 dlen = ntohs(pip->ip_len) - (pip->ip_hl << 2);
848 ud = (struct udphdr *)ip_next(pip);
853 &proxy_server_port, pip->ip_src, pip->ip_dst,
854 ud->uh_dport, pip->ip_p);
861 dest_address = pip->ip_dst;
866 accumulate = twowords(&pip->ip_dst);
869 ADJUST_CHECKSUM(accumulate, pip->ip_sum);
872 accumulate = twowords(&pip->ip_dst);
878 pip->ip_dst = proxy_server_address;
881 lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst,
903 ProxyModify(la, lnk, pip, maxpacketsize, proxy_type);
904 ud = (struct udphdr *)ip_next(pip);
911 error = find_handler(OUT, UDP, la, pip, &ad);
920 accumulate += twowords(&pip->ip_src);
928 DifferentialChecksum(&pip->ip_sum,
929 &alias_address, &pip->ip_src, 2);
930 pip->ip_src = alias_address;
940 TcpAliasIn(struct libalias *la, struct ip *pip)
948 dlen = ntohs(pip->ip_len) - (pip->ip_hl << 2);
951 tc = (struct tcphdr *)ip_next(pip);
953 lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
982 error = find_handler(IN, TCP, la, pip, &ad);
1008 error = find_handler(la, pip, &ad);
1026 accumulate += twowords(&pip->ip_src);
1033 tc = (struct tcphdr *)ip_next(pip);
1044 accumulate = twowords(&pip->ip_dst);
1045 pip->ip_dst = original_address;
1046 accumulate -= twowords(&pip->ip_dst);
1051 accumulate += twowords(&pip->ip_src);
1052 pip->ip_src = proxy_address;
1053 accumulate -= twowords(&pip->ip_src);
1055 ADJUST_CHECKSUM(accumulate, pip->ip_sum);
1058 tc = (struct tcphdr *)ip_next(pip);
1067 TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create)
1079 dlen = ntohs(pip->ip_len) - (pip->ip_hl << 2);
1082 tc = (struct tcphdr *)ip_next(pip);
1086 &proxy_server_port, pip->ip_src, pip->ip_dst,
1087 tc->th_dport, pip->ip_p);
1097 dest_address = pip->ip_dst;
1104 accumulate += twowords(&pip->ip_dst);
1108 accumulate = twowords(&pip->ip_dst);
1109 pip->ip_dst = proxy_server_address;
1110 accumulate -= twowords(&pip->ip_dst);
1111 ADJUST_CHECKSUM(accumulate, pip->ip_sum);
1113 lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst,
1138 ProxyModify(la, lnk, pip, maxpacketsize, proxy_type);
1139 tc = (struct tcphdr *)ip_next(pip);
1146 tc = (struct tcphdr *)ip_next(pip);
1150 error = find_handler(OUT, TCP, la, pip, &ad);
1157 accumulate += twowords(&pip->ip_src);
1164 tc = (struct tcphdr *)ip_next(pip);
1175 accumulate = twowords(&pip->ip_src);
1176 pip->ip_src = alias_address;
1177 accumulate -= twowords(&pip->ip_src);
1178 ADJUST_CHECKSUM(accumulate, pip->ip_sum);
1264 struct ip *pip;
1267 pip = (struct ip *)ptr;
1268 lnk = AddFragmentPtrLink(la, pip->ip_src, pip->ip_id);
1283 struct ip *pip;
1286 pip = (struct ip *)ptr;
1287 lnk = FindFragmentPtr(la, pip->ip_src, pip->ip_id);
1307 struct ip *pip;
1312 pip = (struct ip *)ptr;
1316 &pip->ip_dst, &fpip->ip_dst, 2);
1317 fpip->ip_dst = pip->ip_dst;
1344 struct ip *pip;
1355 pip = (struct ip *)ptr;
1356 alias_addr = pip->ip_dst;
1359 if (ntohs(pip->ip_len) > maxpacketsize
1360 || (pip->ip_hl << 2) > maxpacketsize) {
1366 if ((ntohs(pip->ip_off) & IP_OFFMASK) == 0) {
1367 switch (pip->ip_p) {
1369 iresult = IcmpAliasIn(la, pip);
1372 iresult = UdpAliasIn(la, pip);
1375 iresult = TcpAliasIn(la, pip);
1379 iresult = SctpAlias(la, pip, SN_TO_LOCAL);
1395 error = find_handler(IN, IP, la, pip, &ad);
1399 iresult = ProtoAliasIn(la, pip->ip_src,
1400 &pip->ip_dst, pip->ip_p, &pip->ip_sum);
1404 iresult = ProtoAliasIn(la, pip->ip_src, &pip->ip_dst,
1405 pip->ip_p, &pip->ip_sum);
1409 if (ntohs(pip->ip_off) & IP_MF) {
1412 lnk = FindFragmentIn1(la, pip->ip_src, alias_addr, pip->ip_id);
1415 SetFragmentAddr(lnk, pip->ip_dst);
1421 iresult = FragmentIn(la, pip->ip_src, &pip->ip_dst, pip->ip_id,
1422 &pip->ip_sum);
1480 struct ip *pip;
1490 pip = (struct ip *)ptr;
1493 if (ntohs(pip->ip_len) > maxpacketsize
1494 || (pip->ip_hl << 2) > maxpacketsize) {
1506 addr = ntohl(pip->ip_src.s_addr);
1518 SetDefaultAliasAddress(la, pip->ip_src);
1521 SetDefaultAliasAddress(la, pip->ip_src);
1524 if ((ntohs(pip->ip_off) & IP_OFFMASK) == 0) {
1525 switch (pip->ip_p) {
1527 iresult = IcmpAliasOut(la, pip, create);
1530 iresult = UdpAliasOut(la, pip, maxpacketsize, create);
1533 iresult = TcpAliasOut(la, pip, maxpacketsize, create);
1537 iresult = SctpAlias(la, pip, SN_TO_GLOBAL);
1552 error = find_handler(OUT, IP, la, pip, &ad);
1556 iresult = ProtoAliasOut(la, &pip->ip_src,
1557 pip->ip_dst, pip->ip_p, &pip->ip_sum, create);
1561 iresult = ProtoAliasOut(la, &pip->ip_src,
1562 pip->ip_dst, pip->ip_p, &pip->ip_sum, create);
1566 iresult = FragmentOut(la, &pip->ip_src, &pip->ip_sum);
1579 struct ip *pip;
1587 pip = (struct ip *)ptr;
1590 if (ntohs(pip->ip_len) > maxpacketsize
1591 || (pip->ip_hl << 2) > maxpacketsize)
1594 ud = (struct udphdr *)ip_next(pip);
1595 tc = (struct tcphdr *)ip_next(pip);
1596 ic = (struct icmp *)ip_next(pip);
1599 if (pip->ip_p == IPPROTO_UDP)
1600 lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src,
1603 else if (pip->ip_p == IPPROTO_TCP)
1604 lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src,
1607 else if (pip->ip_p == IPPROTO_ICMP)
1608 lnk = FindIcmpIn(la, pip->ip_dst, pip->ip_src, ic->icmp_id, 0);
1614 if (pip->ip_p == IPPROTO_UDP || pip->ip_p == IPPROTO_TCP) {
1623 accumulate = twowords(&pip->ip_src);
1626 if (pip->ip_p == IPPROTO_UDP) {
1637 DifferentialChecksum(&pip->ip_sum,
1638 &original_address, &pip->ip_src, 2);
1641 pip->ip_src = original_address;
1642 if (pip->ip_p == IPPROTO_UDP)
1649 } else if (pip->ip_p == IPPROTO_ICMP) {
1659 accumulate = twowords(&pip->ip_src);
1666 DifferentialChecksum(&pip->ip_sum,
1667 &original_address, &pip->ip_src, 2);
1670 pip->ip_src = original_address;