--- iptraf-3.0.1/src/ifstats.c.ipv6-fix 2008-06-05 13:40:33.000000000 +0200
+++ iptraf-3.0.1/src/ifstats.c 2008-06-05 13:41:05.000000000 +0200
@@ -294,7 +294,7 @@ void printifentry(struct iflist *ptmp, W
printlargenum(ptmp->ip6total, win);
wmove(win, target_row, 39 * COLS / 80);
printlargenum(ptmp->noniptotal, win);
- wmove(win, target_row, 29 * COLS / 80);
+ wmove(win, target_row, 49 * COLS / 80);
wprintw(win, "%8lu", ptmp->badtotal);
}
@@ -329,10 +329,8 @@ void labelstats(WINDOW * win)
wmove(win, 0, 32 * COLS / 80);
wprintw(win, " IPv6 ");
wmove(win, 0, 42 * COLS / 80);
- wprintw(win, " IP ");
- wmove(win, 0, 36 * COLS / 80);
wprintw(win, " NonIP ");
- wmove(win, 0, 51 * COLS / 80);
+ wmove(win, 0, 52 * COLS / 80);
wprintw(win, " BadIP ");
wmove(win, 0, 65 * COLS / 80);
wprintw(win, " Activity ");
--- iptraf-3.0.1/src/othptab.c.ipv6-fix 2008-06-05 13:42:10.000000000 +0200
+++ iptraf-3.0.1/src/othptab.c 2008-06-05 13:51:12.000000000 +0200
@@ -189,6 +189,11 @@ struct othptabent *add_othp_entry(struct
((struct icmphdr *) packet2)->type;
new_entry->un.icmp.code =
((struct icmphdr *) packet2)->code;
+ } else if (protocol == IPPROTO_ICMPV6) {
+ new_entry->un.icmp6.type =
+ ((struct icmp6_hdr *) packet2)->icmp6_type;
+ new_entry->un.icmp6.code =
+ ((struct icmp6_hdr *) packet2)->icmp6_code;
} else if (protocol == IPPROTO_UDP) {
servlook(servnames, ((struct udphdr *) packet2)->source,
IPPROTO_UDP, new_entry->un.udp.s_sname, 10);
@@ -565,8 +570,8 @@ void printothpentry(struct othptable *ta
case ICMP6_DST_UNREACH_ADMIN:
strcpy(additional, "admin");
break;
- case ICMP6_DST_UNREACH_NOTNEIGHBOR:
- strcpy(additional, "not neigh");
+ case ICMP6_DST_UNREACH_BEYONDSCOPE:
+ strcpy(additional, "not beyondsp");
break;
case ICMP6_DST_UNREACH_ADDR:
strcpy(additional, "unreach addr");
@@ -576,15 +581,15 @@ void printothpentry(struct othptable *ta
break;
}
break;
- case ICMP6_PACKET_TOO_BIG:
+ case ICMP6_PACKET_TOO_BIG:
strcpy(description, "pkt too big");
break;
- case ICMP6_TIME_EXCEEDED:
- strcpy(description, "time exceeded");
- break;
+ case ICMP6_TIME_EXCEEDED:
+ strcpy(description, "time exceeded");
+ break;
case ICMP6_PARAM_PROB:
- strcpy(description, "param prob");
- break;
+ strcpy(description, "param prob");
+ break;
case ICMP6_ECHO_REQUEST:
strcpy(description, "echo req");
break;
@@ -597,15 +602,6 @@ void printothpentry(struct othptable *ta
case ND_ROUTER_ADVERT:
strcpy(description, "router adv");
break;
- case ICMP6_MEMBERSHIP_QUERY:
- strcpy(description, "mbrship query");
- break;
- case ICMP6_MEMBERSHIP_REPORT:
- strcpy(description, "mbrship report");
- break;
- case ICMP6_MEMBERSHIP_REDUCTION:
- strcpy(description, "mbrship reduc");
- break;
case ND_NEIGHBOR_SOLICIT:
strcpy(description, "neigh sol");
break;