#define IPSET_TYPE_REV_MIN     0
 /*                             1    Counters support added */
-#define IPSET_TYPE_REV_MAX     2 /* Comments support added */
+/*                             2    Comments support added */
+#define IPSET_TYPE_REV_MAX     3 /* skbinfo support added */
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>");
                                ip_set_update_counter(ext_counter(e, set),
                                                      ext, &opt->ext,
                                                      cmdflags);
+                       if (SET_WITH_SKBINFO(set))
+                               ip_set_get_skbinfo(ext_skbinfo(e, set),
+                                                  ext, &opt->ext,
+                                                  cmdflags);
                        return ret;
                }
        }
                ip_set_init_counter(ext_counter(e, set), ext);
        if (SET_WITH_COMMENT(set))
                ip_set_init_comment(ext_comment(e, set), ext);
+       if (SET_WITH_SKBINFO(set))
+               ip_set_init_skbinfo(ext_skbinfo(e, set), ext);
        return 0;
 }
 
                        ip_set_init_counter(ext_counter(e, set), ext);
                if (SET_WITH_COMMENT(set))
                        ip_set_init_comment(ext_comment(e, set), ext);
+               if (SET_WITH_SKBINFO(set))
+                       ip_set_init_skbinfo(ext_skbinfo(e, set), ext);
                /* Set is already added to the list */
                ip_set_put_byindex(map->net, d->id);
                return 0;
                     !ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
                     !ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS) ||
                     !ip_set_optattr_netorder(tb, IPSET_ATTR_PACKETS) ||
-                    !ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES)))
+                    !ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES) ||
+                    !ip_set_optattr_netorder(tb, IPSET_ATTR_SKBMARK) ||
+                    !ip_set_optattr_netorder(tb, IPSET_ATTR_SKBPRIO) ||
+                    !ip_set_optattr_netorder(tb, IPSET_ATTR_SKBQUEUE)))
                return -IPSET_ERR_PROTOCOL;
 
        if (tb[IPSET_ATTR_LINENO])
                [IPSET_ATTR_BYTES]      = { .type = NLA_U64 },
                [IPSET_ATTR_PACKETS]    = { .type = NLA_U64 },
                [IPSET_ATTR_COMMENT]    = { .type = NLA_NUL_STRING },
+               [IPSET_ATTR_SKBMARK]    = { .type = NLA_U64 },
+               [IPSET_ATTR_SKBPRIO]    = { .type = NLA_U32 },
+               [IPSET_ATTR_SKBQUEUE]   = { .type = NLA_U16 },
        },
        .me             = THIS_MODULE,
 };