- const struct xt_mark_tginfo2 *info = (const void *)target->data;
-
- if (info->mark == 0)
- printf("MARK and 0x%x ", (unsigned int)(u_int32_t)~info->mask);
- else if (info->mark == info->mask)
- printf("MARK or 0x%x ", info->mark);
- else if (info->mask == 0)
- printf("MARK xor 0x%x ", info->mark);
- else
- printf("MARK xset 0x%x/0x%x ", info->mark, info->mask);
+ const struct xt_mark_tginfo2 *info = (const void *)target->data;
+
+ if (info->mark == ~0U)
+ printf("MARK copy-xid");
+ else if (info->mark == 0)
+ printf("MARK and 0x%x ", (unsigned int)(u_int32_t)~info->mask);
+ else if (info->mark == info->mask)
+ printf("MARK or 0x%x ", info->mark);
+ else if (info->mask == 0)
+ printf("MARK xor 0x%x ", info->mark);
+ else
+ printf("MARK xset 0x%x/0x%x ", info->mark, info->mask);