@@ -319,6 +319,11 @@ int redirect_seg_pkt(struct __sk_buff* skb, bool ingress, __u16 rule_id){
319319
320320 skb -> mark = ingress ? PKT_REDIR_INGRESS : PKT_REDIR_EGRESS ;
321321 skb -> mark |= rule_id ;
322+
323+ PRINTK ("[%d:0x%p] Redirecting %d->%d mark: 0x%x" , skb -> ifindex , skb ,
324+ skb -> ifindex ,
325+ SEG_DEV_IFINDEX ,
326+ skb -> mark );
322327 return bpf_redirect (SEG_DEV_IFINDEX , 0 );
323328}
324329
@@ -347,20 +352,20 @@ int proc_ip4(struct __sk_buff* skb, bool ingress, __u8* eth, struct iphdr* ip){
347352 //egress iface
348353 if (skb -> mark & PKT_REDIR_EGRESS &&
349354 skb -> ifindex == SEG_PAIR_DEV_IFINDEX ){
350- PRINTK ("[%d:0x%p] Skipping recirculated pkt coming from EGRESS program" ,
355+ PRINTK ("[%d:0x%p] Skipping redirected pkt coming from EGRESS program" ,
351356 skb -> ifindex , skb );
352357 return TC_ACT_UNSPEC ;
353358 }
354359
355360 if (skb -> gso_size > 0 ){
356361 //The packet has been redirected before, but is looped
357362 //back GSOed => drop (bug)
358- PRINTK ("[%d:0x%p] Recirculated pkt is still GSOed" ,
363+ PRINTK ("[%d:0x%p] Redirected pkt is still GSOed" ,
359364 skb -> ifindex , skb );
360365 return TC_ACT_SHOT ;
361366 }
362367
363- PRINTK ("[%d:0x%p] Processing %s recirculated pkt, mark: 0x%x" ,
368+ PRINTK ("[%d:0x%p] Processing redirected pkt from %s , mark: 0x%x" ,
364369 skb -> ifindex ,
365370 skb ,
366371 skb -> mark & PKT_REDIR_EGRESS ? "EGRESS" : "INGRESS" ,
@@ -375,6 +380,9 @@ int proc_ip4(struct __sk_buff* skb, bool ingress, __u8* eth, struct iphdr* ip){
375380 }
376381 rule = & ip4_rules [index ];
377382 skb -> mark &= ~(0xFFFF | PKT_REDIR );
383+
384+ PRINTK ("[%d:0x%p] Cached matched rule#%u %s" , skb -> ifindex , skb ,
385+ rule -> id );
378386 }else {
379387 PRINTK ("[%d:0x%p] Looking up IP4/%s, size %d" , skb -> ifindex , skb ,
380388 (ip -> protocol == IPPROTO_UDP )?
@@ -385,11 +393,11 @@ int proc_ip4(struct __sk_buff* skb, bool ingress, __u8* eth, struct iphdr* ip){
385393 PRINTK ("[%d:0x%p] No match" , skb -> ifindex , skb );
386394 return TC_ACT_UNSPEC ;
387395 }
396+
397+ PRINTK ("[%d:0x%p] Matched rule#%u" , skb -> ifindex , skb , rule -> id );
388398 if (SEG_DEV_IFINDEX > 0 )
389399 return redirect_seg_pkt (skb , ingress , rule -> id );
390400 }
391- PRINTK ("[%d:0x%p] Matched rule#%u %s" , skb -> ifindex , skb , rule -> id ,
392- skb -> mark & PKT_REDIR ? "(cached)" : "" );
393401
394402 //Direct actions
395403 if (rule -> actions .drop .execute ){
0 commit comments