pattern_result = match_no_append(conntrack, master_conntrack,
ctinfo, master_ctinfo, info);
- /* skb->cb[0] == seen. Don't do things twice if there are
- multiple l7 rules. I'm not sure that using cb for this purpose
- is correct, even though it says "put your private variables
- there". But it doesn't look like it is being used for anything
- else in the skbs that make it here. */
- skb->cb[0] = 1; /* marking it seen here's probably irrelevant */
+ skb->layer7_flags[0] = 1; /* marking it seen here's probably irrelevant */
spin_unlock_bh(&l7_lock);
return (pattern_result ^ info->invert);
comppattern = compile_and_cache(info->pattern, info->protocol);
/* On the first packet of a connection, allocate space for app data */
- if(total_acct_packets(master_conntrack) == 1 && !skb->cb[0] &&
+ if(total_acct_packets(master_conntrack) == 1 && !skb->layer7_flags[0] &&
!master_conntrack->layer7.app_data){
master_conntrack->layer7.app_data =
kmalloc(maxdatalen, GFP_ATOMIC);
return info->invert; /* unmatched */
}
- if(!skb->cb[0]){
+ if(!skb->layer7_flags[0]){
int newbytes;
newbytes = add_data(master_conntrack, app_data, appdatalen);
if(newbytes == 0) { /* didn't add any data */
- skb->cb[0] = 1;
+ skb->layer7_flags[0] = 1;
/* Didn't match before, not going to match now */
spin_unlock_bh(&l7_lock);
return info->invert;
}
/* mark the packet seen */
- skb->cb[0] = 1;
+ skb->layer7_flags[0] = 1;
spin_unlock_bh(&l7_lock);
return (pattern_result ^ info->invert);