diff --git a/include/SNAPSHOT.h b/include/SNAPSHOT.h
index a0cc824..bd414bb 100644
--- a/include/SNAPSHOT.h
+++ b/include/SNAPSHOT.h
@@ -1 +1 @@
-static const char SNAPSHOT[] = "131122";
+static const char SNAPSHOT[] = "140411";
diff --git a/ip/ipaddress.c b/ip/ipaddress.c
index 14d1720..8169150 100644
--- a/ip/ipaddress.c
+++ b/ip/ipaddress.c
@@ -69,7 +69,7 @@
 	}
 	fprintf(stderr, "Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]\n");
 	fprintf(stderr, "                                                      [ CONFFLAG-LIST ]\n");
-	fprintf(stderr, "       ip addr del IFADDR dev STRING\n");
+	fprintf(stderr, "       ip addr del IFADDR dev STRING [mngtmpaddr]\n");
 	fprintf(stderr, "       ip addr {show|save|flush} [ dev STRING ] [ scope SCOPE-ID ]\n");
 	fprintf(stderr, "                            [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [up]\n");
 	fprintf(stderr, "       ip addr {showdump|restore}\n");
@@ -1398,8 +1398,10 @@
 		}
 		argc--; argv++;
 	}
-	req.ifa.ifa_flags = ifa_flags;
-	addattr32(&req.n, sizeof(req), IFA_FLAGS, ifa_flags);
+	if (ifa_flags <= 0xff)
+		req.ifa.ifa_flags = ifa_flags;
+	else
+		addattr32(&req.n, sizeof(req), IFA_FLAGS, ifa_flags);
 
 	if (d == NULL) {
 		fprintf(stderr, "Not enough information: \"dev\" argument is required.\n");
diff --git a/ip/link_veth.c b/ip/link_veth.c
index 3cbeb54..1196a1b 100644
--- a/ip/link_veth.c
+++ b/ip/link_veth.c
@@ -34,12 +34,20 @@
 	int err, len;
 	struct rtattr * data;
 	int group;
+	struct ifinfomsg *ifm, *peer_ifm;
+	unsigned int ifi_flags, ifi_change;
 
 	if (strcmp(argv[0], "peer") != 0) {
 		usage();
 		return -1;
 	}
 
+	ifm = NLMSG_DATA(hdr);
+	ifi_flags = ifm->ifi_flags;
+	ifi_change = ifm->ifi_change;
+	ifm->ifi_flags = 0;
+	ifm->ifi_change = 0;
+
 	data = NLMSG_TAIL(hdr);
 	addattr_l(hdr, 1024, VETH_INFO_PEER, NULL, 0);
 
@@ -57,10 +65,12 @@
 		addattr_l(hdr, 1024, IFLA_IFNAME, name, len);
 	}
 
-	if (index) {
-		struct ifinfomsg *ifi = (struct ifinfomsg *)(data + 1);
-		ifi->ifi_index = index;
-	}
+	peer_ifm = RTA_DATA(data);
+	peer_ifm->ifi_index = index;
+	peer_ifm->ifi_flags = ifm->ifi_flags;
+	peer_ifm->ifi_change = ifm->ifi_change;
+	ifm->ifi_flags = ifi_flags;
+	ifm->ifi_change = ifi_change;
 
 	if (group != -1)
 		addattr32(hdr, 1024, IFLA_GROUP, group);
diff --git a/man/man8/ip-neighbour.8 b/man/man8/ip-neighbour.8
index 67fbec7..d6adc65 100644
--- a/man/man8/ip-neighbour.8
+++ b/man/man8/ip-neighbour.8
@@ -55,7 +55,7 @@
 .TP
 ip neighbour replace
 add a new entry or change an existing one
-
+.RS
 .PP
 These commands create new neighbour records or update existing ones.
 
@@ -100,11 +100,12 @@
 .B ip neigh
 does not change the neighbour state if it was valid and the address
 is not changed by this command.
-.RS
-ip neighbour delete - delete a neighbour entry
 .RE
-This command invalidates a neighbour entry.
 
+.TP
+ip neighbour delete
+delete a neighbour entry
+.RS
 .PP
 The arguments are the same as with
 .BR "ip neigh add" ,
@@ -123,13 +124,12 @@
 on a
 .B NOARP
 interface or if the address is multicast or broadcast.
-
-.RS
-ip neighbour show - list neighbour entries
 .RE
 
-This command displays neighbour tables.
-
+.TP
+ip neighbour show
+list neighbour entries
+.RS
 .TP
 .BI to " ADDRESS " (default)
 the prefix selecting the neighbours to list.
@@ -159,15 +159,12 @@
 .B none
 and
 .BR "noarp" .
-
-.RS
-ip neighbour flush - flush neighbour entries
 .RE
 
-This command flushes neighbour tables, selecting
-entries to flush by some criteria.
-
-.PP
+.TP
+ip neighbour flush
+flush neighbour entries
+.RS
 This command has the same arguments as
 .B show.
 The differences are that it does not run when no arguments are given,
@@ -185,6 +182,7 @@
 twice,
 .B ip neigh flush
 also dumps all the deleted neighbours.
+.RE
 
 .SH EXAMPLES
 .PP
