CGW_SRC_IF,     /* ifindex of source network interface */
        CGW_DST_IF,     /* ifindex of destination network interface */
        CGW_FILTER,     /* specify struct can_filter on source CAN device */
+       CGW_DELETED,    /* number of deleted CAN frames (see max_hops param) */
        __CGW_MAX
 };
 
 
        struct rcu_head rcu;
        u32 handled_frames;
        u32 dropped_frames;
+       u32 deleted_frames;
        struct cf_mod mod;
        union {
                /* CAN frame data source */
 
        BUG_ON(skb->ip_summed != CHECKSUM_UNNECESSARY);
 
-       if (cgw_hops(skb) >= max_hops)
+       if (cgw_hops(skb) >= max_hops) {
+               /* indicate deleted frames due to misconfiguration */
+               gwj->deleted_frames++;
                return;
+       }
 
        if (!(gwj->dst.dev->flags & IFF_UP)) {
                gwj->dropped_frames++;
                        goto cancel;
        }
 
+       if (gwj->deleted_frames) {
+               if (nla_put_u32(skb, CGW_DELETED, gwj->deleted_frames) < 0)
+                       goto cancel;
+       }
+
        /* check non default settings of attributes */
 
        if (gwj->mod.modtype.and) {
 
        gwj->handled_frames = 0;
        gwj->dropped_frames = 0;
+       gwj->deleted_frames = 0;
        gwj->flags = r->flags;
        gwj->gwtype = r->gwtype;