diff --git a/librpc/idl/dnsp.idl b/librpc/idl/dnsp.idl
index 55bac150990..3c35017a81b 100644
--- a/librpc/idl/dnsp.idl
+++ b/librpc/idl/dnsp.idl
@@ -174,8 +174,8 @@ interface dnsp
 
 	typedef struct {
 		uint16 	family;
-		uint16	port;
-		ipv4address ipv4;
+		[flag(NDR_BIG_ENDIAN)] uint16	port;
+		[flag(NDR_BIG_ENDIAN)] ipv4address ipv4;
 		ipv6address ipv6;
 		uint8	pad[8];
 		uint32	unused[8];
@@ -187,6 +187,7 @@ interface dnsp
 		uint32	Tag;
 		uint16	Family;
 		uint16	Reserved0;
+		uint32	Flags;
 		uint32	MatchFlag;
 		uint32	Reserved1;
 		uint32	Reserved2;
diff --git a/selftest/knownfail.d/dnsp b/selftest/knownfail.d/dnsp
index 195feb4ca01..21254070882 100644
--- a/selftest/knownfail.d/dnsp
+++ b/selftest/knownfail.d/dnsp
@@ -1,2 +1 @@
-^samba4.local.ndr.*dnsp_DnsProperty_ZONE_MASTER_SERVERS_DA
 ^samba4.local.ndr.*dnsp_DnsProperty_DELETED_FROM_HOSTNAME
diff --git a/source4/torture/ndr/dnsp.c b/source4/torture/ndr/dnsp.c
index 83d8346eb4f..abe24b38b54 100644
--- a/source4/torture/ndr/dnsp.c
+++ b/source4/torture/ndr/dnsp.c
@@ -217,6 +217,7 @@ static bool dnsp_dnsProperty_addr_array_check(struct torture_context *tctx,
 	torture_assert_int_equal(tctx, da->Tag, 0, "Tag");
 	torture_assert_int_equal(tctx, da->Family, 0, "Family");
 	torture_assert_int_equal(tctx, da->Reserved0, 0, "Reserved0");
+	torture_assert_int_equal(tctx, da->Flags, 0, "Flags");
 	torture_assert_int_equal(tctx, da->MatchFlag, 0, "MatchFlag");
 	torture_assert_int_equal(tctx, da->Reserved1, 0, "Reserved1");
 	torture_assert_int_equal(tctx, da->Reserved2, 0, "Reserved2");