Add test coverage for mark matching on child sockets.

Test: This *is* a test.
Change-Id: I288cee427fb0c7320094fbcbe62ce1db735f74a5
diff --git a/net/test/sock_diag.py b/net/test/sock_diag.py
index 059d935..4efd0c5 100755
--- a/net/test/sock_diag.py
+++ b/net/test/sock_diag.py
@@ -298,6 +298,9 @@
       return "???"
 
   def Dump(self, diag_req, bytecode):
+    if bytecode:
+      bytecode = self._NlAttr(INET_DIAG_REQ_BYTECODE, bytecode)
+
     out = self._Dump(SOCK_DIAG_BY_FAMILY, diag_req, InetDiagMsg, bytecode)
     return out
 
@@ -309,9 +312,6 @@
     if sock_id is None:
       sock_id = self._EmptyInetDiagSockId()
 
-    if bytecode:
-      bytecode = self._NlAttr(INET_DIAG_REQ_BYTECODE, bytecode)
-
     sockets = []
     for family in [AF_INET, AF_INET6]:
       diag_req = InetDiagReqV2((family, protocol, ext, states, sock_id))
diff --git a/net/test/sock_diag_test.py b/net/test/sock_diag_test.py
index bce5a11..5d33810 100755
--- a/net/test/sock_diag_test.py
+++ b/net/test/sock_diag_test.py
@@ -512,7 +512,14 @@
     req = self.sock_diag.DiagReqFromDiagMsg(d, IPPROTO_TCP)
     req.states = 1 << tcp_test.TCP_SYN_RECV | 1 << tcp_test.TCP_ESTABLISHED
     req.id.cookie = "\x00" * 8
-    children = self.sock_diag.Dump(req, NO_BYTECODE)
+
+    bad_bytecode = self.PackAndCheckBytecode(
+        [(sock_diag.INET_DIAG_BC_MARK_COND, 1, 2, (0xffff, 0xffff))])
+    self.assertEqual([], self.sock_diag.Dump(req, bad_bytecode))
+
+    bytecode = self.PackAndCheckBytecode(
+        [(sock_diag.INET_DIAG_BC_MARK_COND, 1, 2, (self.netid, 0xffff))])
+    children = self.sock_diag.Dump(req, bytecode)
     return [self.sock_diag.DiagReqFromDiagMsg(d, IPPROTO_TCP)
             for d, _ in children]