Lines Matching full:ip

22  *	We want:	- own IP address
23 * - TFTP server IP address
30 * We want: - own IP address
36 * We want: - own IP address
37 * - TFTP server IP address
43 * - own IP address
44 * - TFTP server IP address
51 * We want: - IP, Netmask, ServerIP, Gateway IP
58 * - own IP address
59 * - TFTP server IP address
62 * derived from our own IP address)
69 * - own IP address
71 * derived from our own IP address)
78 * - own IP address
126 /* Our gateways IP address */
128 /* Our DNS IP address */
131 /* Our 2nd DNS IP address */
141 /* Our IP addr (0 = unknown) */
143 /* Server IP addr (0 = unknown) */
149 /* IP packet ID */
182 /* NTP server IP address */
313 /* We aren't expecting to get a serverip, so just accept the assigned IP */ in net_auto_load()
338 /* We aren't expecting to get a serverip, so just accept the assigned IP */ in net_auto_load()
870 /* save the ip and eth addr for the packet to send after arp */ in net_send_ip_packet()
915 static struct ip_udp_hdr *__net_defragment(struct ip_udp_hdr *ip, int *lenp) in __net_defragment() argument
921 uchar *indata = (uchar *)ip; in __net_defragment()
923 u16 ip_off = ntohs(ip->ip_off); in __net_defragment()
925 /* payload starts after IP header, this fragment is in there */ in __net_defragment()
930 len = ntohs(ip->ip_len) - IP_HDR_SIZE; in __net_defragment()
935 if (!total_len || localip->ip_id != ip->ip_id) { in __net_defragment()
942 /* any IP header will work, copy the first we received */ in __net_defragment()
943 memcpy(localip, ip, IP_HDR_SIZE); in __net_defragment()
1035 static inline struct ip_udp_hdr *net_defragment(struct ip_udp_hdr *ip, in net_defragment() argument
1038 u16 ip_off = ntohs(ip->ip_off); in net_defragment()
1040 return ip; /* not a fragment */ in net_defragment()
1041 return __net_defragment(ip, lenp); in net_defragment()
1046 static inline struct ip_udp_hdr *net_defragment(struct ip_udp_hdr *ip, in net_defragment() argument
1049 u16 ip_off = ntohs(ip->ip_off); in net_defragment()
1051 return ip; /* not a fragment */ in net_defragment()
1060 * @parma ip IP packet containing the ICMP
1062 static void receive_icmp(struct ip_udp_hdr *ip, int len, in receive_icmp() argument
1065 struct icmp_hdr *icmph = (struct icmp_hdr *)&ip->udp_src; in receive_icmp()
1076 ping_receive(et, ip, len); in receive_icmp()
1081 ntohs(ip->udp_dst), src_ip, in receive_icmp()
1082 ntohs(ip->udp_src), icmph->un.data, in receive_icmp()
1083 ntohs(ip->udp_len)); in receive_icmp()
1092 struct ip_udp_hdr *ip; in net_process_received_packet() local
1140 ip = (struct ip_udp_hdr *)(in_packet + E802_HDR_SIZE); in net_process_received_packet()
1144 ip = (struct ip_udp_hdr *)(in_packet + ETHER_HDR_SIZE); in net_process_received_packet()
1169 ip = (struct ip_udp_hdr *)(in_packet + VLAN_ETHER_HDR_SIZE); in net_process_received_packet()
1177 cdp_receive((uchar *)ip, len); in net_process_received_packet()
1192 arp_receive(et, ip, len); in net_process_received_packet()
1197 rarp_receive(ip, len); in net_process_received_packet()
1201 debug_cond(DEBUG_NET_PKT, "Got IP\n"); in net_process_received_packet()
1209 if (len < ntohs(ip->ip_len)) { in net_process_received_packet()
1210 debug("len bad %d < %d\n", len, ntohs(ip->ip_len)); in net_process_received_packet()
1213 len = ntohs(ip->ip_len); in net_process_received_packet()
1215 len, ip->ip_hl_v & 0xff); in net_process_received_packet()
1218 if ((ip->ip_hl_v & 0xf0) != 0x40) in net_process_received_packet()
1220 /* Can't deal with IP options (headers != 20 bytes) */ in net_process_received_packet()
1221 if ((ip->ip_hl_v & 0x0f) > 0x05) in net_process_received_packet()
1224 if (!ip_checksum_ok((uchar *)ip, IP_HDR_SIZE)) { in net_process_received_packet()
1229 dst_ip = net_read_ip(&ip->ip_dst); in net_process_received_packet()
1234 /* Read source IP address for later use */ in net_process_received_packet()
1235 src_ip = net_read_ip(&ip->ip_src); in net_process_received_packet()
1241 ip = net_defragment(ip, &len); in net_process_received_packet()
1242 if (!ip) in net_process_received_packet()
1265 if (ip->ip_p == IPPROTO_ICMP) { in net_process_received_packet()
1266 receive_icmp(ip, len, src_ip, et); in net_process_received_packet()
1268 } else if (ip->ip_p != IPPROTO_UDP) { /* Only UDP packets */ in net_process_received_packet()
1272 if (ntohs(ip->udp_len) < UDP_HDR_SIZE || ntohs(ip->udp_len) > ntohs(ip->ip_len)) in net_process_received_packet()
1280 if (ip->udp_xsum != 0) { in net_process_received_packet()
1285 xsum = ip->ip_p; in net_process_received_packet()
1286 xsum += (ntohs(ip->udp_len)); in net_process_received_packet()
1287 xsum += (ntohl(ip->ip_src.s_addr) >> 16) & 0x0000ffff; in net_process_received_packet()
1288 xsum += (ntohl(ip->ip_src.s_addr) >> 0) & 0x0000ffff; in net_process_received_packet()
1289 xsum += (ntohl(ip->ip_dst.s_addr) >> 16) & 0x0000ffff; in net_process_received_packet()
1290 xsum += (ntohl(ip->ip_dst.s_addr) >> 0) & 0x0000ffff; in net_process_received_packet()
1292 sumlen = ntohs(ip->udp_len); in net_process_received_packet()
1293 sumptr = (ushort *)&(ip->udp_src); in net_process_received_packet()
1315 xsum, ntohs(ip->udp_xsum)); in net_process_received_packet()
1322 nc_input_packet((uchar *)ip + IP_UDP_HDR_SIZE, in net_process_received_packet()
1324 ntohs(ip->udp_dst), in net_process_received_packet()
1325 ntohs(ip->udp_src), in net_process_received_packet()
1326 ntohs(ip->udp_len) - UDP_HDR_SIZE); in net_process_received_packet()
1329 * IP header OK. Pass the packet to the current handler. in net_process_received_packet()
1331 (*udp_packet_handler)((uchar *)ip + IP_UDP_HDR_SIZE, in net_process_received_packet()
1332 ntohs(ip->udp_dst), in net_process_received_packet()
1334 ntohs(ip->udp_src), in net_process_received_packet()
1335 ntohs(ip->udp_len) - UDP_HDR_SIZE); in net_process_received_packet()
1339 wol_receive(ip, len); in net_process_received_packet()
1344 ncsi_receive(et, ip, len); in net_process_received_packet()
1506 struct ip_udp_hdr *ip = (struct ip_udp_hdr *)pkt; in net_set_ip_header() local
1509 * Construct an IP header. in net_set_ip_header()
1512 ip->ip_hl_v = 0x45; in net_set_ip_header()
1513 ip->ip_tos = 0; in net_set_ip_header()
1514 ip->ip_len = htons(pkt_len); in net_set_ip_header()
1515 ip->ip_p = proto; in net_set_ip_header()
1516 ip->ip_id = htons(net_ip_id++); in net_set_ip_header()
1517 ip->ip_off = htons(IP_FLAGS_DFRAG); /* Don't fragment */ in net_set_ip_header()
1518 ip->ip_ttl = 255; in net_set_ip_header()
1519 ip->ip_sum = 0; in net_set_ip_header()
1521 net_copy_ip((void *)&ip->ip_src, &source); in net_set_ip_header()
1523 net_copy_ip((void *)&ip->ip_dst, &dest); in net_set_ip_header()
1525 ip->ip_sum = compute_ip_checksum(ip, IP_HDR_SIZE); in net_set_ip_header()
1531 struct ip_udp_hdr *ip = (struct ip_udp_hdr *)pkt; in net_set_udp_header() local
1544 ip->udp_src = htons(sport); in net_set_udp_header()
1545 ip->udp_dst = htons(dport); in net_set_udp_header()
1546 ip->udp_len = htons(UDP_HDR_SIZE + len); in net_set_udp_header()
1547 ip->udp_xsum = 0; in net_set_udp_header()