patch-2.3.51 linux/net/decnet/dn_nsp_out.c

Next file: linux/net/decnet/dn_raw.c
Previous file: linux/net/decnet/dn_nsp_in.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.50/linux/net/decnet/dn_nsp_out.c linux/net/decnet/dn_nsp_out.c
@@ -511,7 +511,7 @@
 			int ddl, unsigned char *dd, __u16 rem, __u16 loc)
 {
 	struct sk_buff *skb = NULL;
-	int size = 8 + ddl;
+	int size = 7 + ddl + ((msgflg == NSP_DISCINIT) ? 1 : 0);
 	unsigned char *msg;
 
 	if ((dst == NULL) || (rem == 0)) {
@@ -531,7 +531,8 @@
 	msg += 2;
 	*(__u16 *)msg = dn_htons(reason);
 	msg += 2;
-	*msg++ = ddl;
+	if (msgflg == NSP_DISCINIT)
+		*msg++ = ddl;
 
 	if (ddl) {
 		memcpy(msg, dd, ddl);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)