Index: /branches/rel_apv_10_7/usr/src/sys/click/app/segment/segment_cli_kern.c
===================================================================
--- /branches/rel_apv_10_7/usr/src/sys/click/app/segment/segment_cli_kern.c	(revision 38122)
+++ /branches/rel_apv_10_7/usr/src/sys/click/app/segment/segment_cli_kern.c	(working copy)
@@ -3175,6 +3175,9 @@
 	if (isipv6){
 		TAILQ_FOREACH_SAFE(curr, &iprange->range_list[SEGMENT_IPV6], next_range, next) {
 			inet_pton(AF_INET6, curr->netaddr, &cur_netaddr6);
+                        if (insert == curr || compaddr((uint8_t *)&netaddr6, (uint8_t *)&cur_netaddr6, 16) == 0) {
+                            continue;
+                        }
 			if (segment_ipv6_addr_overlap(&netaddr6, mask, &cur_netaddr6, curr->mask)){
 				app_printf(pcb,"This IP range overlaps with another IP range.\r\n");
 				return -1;
@@ -3207,6 +3210,9 @@
 	else{
 		TAILQ_FOREACH_SAFE(curr, &iprange->range_list[SEGMENT_IPV4], next_range, next) {
 			inet_pton(AF_INET, curr->netaddr, &cur_netaddr4);
+                        if (insert == curr || compaddr((uint8_t *)&netaddr4, (uint8_t *)&cur_netaddr4, 4) == 0) {
+                            continue;
+                        }
 			if (segment_ipv4_addr_overlap(netaddr4.s_addr, mask, cur_netaddr4.s_addr, curr->mask)){
 				app_printf(pcb,"This iprange overlaps with other ipranges\r\n");
 				return -1;
