Changeset 7bf12387 in mainline for uspace/srv
- Timestamp:
- 2011-05-28T19:44:42Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0743493a
- Parents:
- 40ffda8
- git-author:
- Jeff Rous <jeffrous@…> (2011-05-28 19:44:42)
- git-committer:
- Jakub Jermar <jakub@…> (2011-05-28 19:44:42)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/il/ip/ip.c
r40ffda8 r7bf12387 201 201 202 202 /* Set the destination address */ 203 switch (GET_ HEADER_VERSION(header)) {203 switch (GET_IP_HEADER_VERSION(header)) { 204 204 case IPVERSION: 205 205 addrlen = sizeof(dest_in); … … 635 635 636 636 /* Process all IP options */ 637 while (next < GET_ HEADER_LENGTH(first)) {637 while (next < GET_IP_HEADER_LENGTH(first)) { 638 638 option = (ip_option_t *) (((uint8_t *) first) + next); 639 639 /* Skip end or noop */ … … 656 656 if (length % 4) { 657 657 bzero(((uint8_t *) last) + length, 4 - (length % 4)); 658 SET_ HEADER_LENGTH(last, (length / 4 + 1));658 SET_IP_HEADER_LENGTH(last, (length / 4 + 1)); 659 659 } else { 660 SET_ HEADER_LENGTH(last, (length / 4));660 SET_IP_HEADER_LENGTH(last, (length / 4)); 661 661 } 662 662 … … 706 706 return rc; 707 707 708 SET_ HEADER_VERSION(header, IPV4);709 SET_ HEADER_FRAGMENT_OFFSET_HIGH(header, 0);708 SET_IP_HEADER_VERSION(header, IPV4); 709 SET_IP_HEADER_FRAGMENT_OFFSET_HIGH(header, 0); 710 710 header->fragment_offset_low = 0; 711 711 header->header_checksum = 0; … … 735 735 memcpy(middle_header, last_header, 736 736 IP_HEADER_LENGTH(last_header)); 737 SET_ HEADER_FLAGS(header,738 (GET_ HEADER_FLAGS(header) | IPFLAG_MORE_FRAGMENTS));737 SET_IP_HEADER_FLAGS(header, 738 (GET_IP_HEADER_FLAGS(header) | IPFLAG_MORE_FRAGMENTS)); 739 739 middle_header->total_length = 740 740 htons(packet_get_data_length(next)); 741 SET_ HEADER_FRAGMENT_OFFSET_HIGH(middle_header,741 SET_IP_HEADER_FRAGMENT_OFFSET_HIGH(middle_header, 742 742 IP_COMPUTE_FRAGMENT_OFFSET_HIGH(length)); 743 743 middle_header->fragment_offset_low = … … 769 769 middle_header->total_length = 770 770 htons(packet_get_data_length(next)); 771 SET_ HEADER_FRAGMENT_OFFSET_HIGH(middle_header,771 SET_IP_HEADER_FRAGMENT_OFFSET_HIGH(middle_header, 772 772 IP_COMPUTE_FRAGMENT_OFFSET_HIGH(length)); 773 773 middle_header->fragment_offset_low = … … 786 786 length += packet_get_data_length(next); 787 787 free(last_header); 788 SET_ HEADER_FLAGS(header,789 (GET_ HEADER_FLAGS(header) | IPFLAG_MORE_FRAGMENTS));788 SET_IP_HEADER_FLAGS(header, 789 (GET_IP_HEADER_FLAGS(header) | IPFLAG_MORE_FRAGMENTS)); 790 790 } 791 791 … … 836 836 new_header->total_length = htons(IP_HEADER_LENGTH(new_header) + length); 837 837 offset = IP_FRAGMENT_OFFSET(header) + IP_HEADER_DATA_LENGTH(header); 838 SET_ HEADER_FRAGMENT_OFFSET_HIGH(new_header,838 SET_IP_HEADER_FRAGMENT_OFFSET_HIGH(new_header, 839 839 IP_COMPUTE_FRAGMENT_OFFSET_HIGH(offset)); 840 840 new_header->fragment_offset_low = … … 867 867 return NULL; 868 868 memcpy(middle, last, IP_HEADER_LENGTH(last)); 869 SET_ HEADER_FLAGS(middle,870 (GET_ HEADER_FLAGS(middle) | IPFLAG_MORE_FRAGMENTS));869 SET_IP_HEADER_FLAGS(middle, 870 (GET_IP_HEADER_FLAGS(middle) | IPFLAG_MORE_FRAGMENTS)); 871 871 return middle; 872 872 } … … 925 925 926 926 /* Fragmentation forbidden? */ 927 if(GET_ HEADER_FLAGS(header) & IPFLAG_DONT_FRAGMENT)927 if(GET_IP_HEADER_FLAGS(header) & IPFLAG_DONT_FRAGMENT) 928 928 return EPERM; 929 929 … … 961 961 962 962 /* Mark the first as fragmented */ 963 SET_ HEADER_FLAGS(header,964 (GET_ HEADER_FLAGS(header) | IPFLAG_MORE_FRAGMENTS));963 SET_IP_HEADER_FLAGS(header, 964 (GET_IP_HEADER_FLAGS(header) | IPFLAG_MORE_FRAGMENTS)); 965 965 966 966 /* Create middle fragments */ … … 1323 1323 int rc; 1324 1324 1325 if ((GET_ HEADER_FLAGS(header) & IPFLAG_MORE_FRAGMENTS) ||1325 if ((GET_IP_HEADER_FLAGS(header) & IPFLAG_MORE_FRAGMENTS) || 1326 1326 IP_FRAGMENT_OFFSET(header)) { 1327 1327 // TODO fragmented … … 1329 1329 } 1330 1330 1331 switch (GET_ HEADER_VERSION(header)) {1331 switch (GET_IP_HEADER_VERSION(header)) { 1332 1332 case IPVERSION: 1333 1333 addrlen = sizeof(src_in); … … 1451 1451 1452 1452 /* Set the destination address */ 1453 switch (GET_ HEADER_VERSION(header)) {1453 switch (GET_IP_HEADER_VERSION(header)) { 1454 1454 case IPVERSION: 1455 1455 addrlen = sizeof(addr_in);
Note:
See TracChangeset
for help on using the changeset viewer.