Hi Satya,

so this is obviously unfinished. Would you mind writing the code for that? You 
just need to steal a piece of code from ip4_sv_reass.c to do that ;-) and then 
steer your packets at custom node.

   986 /* *INDENT-OFF* */                                                 
   987 VLIB_REGISTER_NODE (ip4_sv_reass_custom_node) = {                        
               
   988     .name = "ip4-sv-reassembly-custom-next",                     
   989     .vector_size = sizeof (u32),                                 
   990     .format_trace = format_ip4_sv_reass_trace,                   
   991     .n_errors = ARRAY_LEN (ip4_sv_reass_error_strings),                  
               
   992     .error_strings = ip4_sv_reass_error_strings,                 
   993     .n_next_nodes = IP4_SV_REASSEMBLY_N_NEXT,                            
               
   994     .next_nodes =                                                        
               
   995         {                                                                
               
   996                 [IP4_SV_REASSEMBLY_NEXT_INPUT] = "ip4-input",            
               
   997                 [IP4_SV_REASSEMBLY_NEXT_DROP] = "ip4-drop",              
               
   998                 [IP4_SV_REASSEMBLY_NEXT_HANDOFF] = 
"ip4-sv-reassembly-handoff",         
   999                                                                          
               
  1000         },             
  1001 };                                                                       
                
  1002 /* *INDENT-ON* */                                                        
               
  1003                                                                          
               
  1004 VLIB_NODE_FN (ip4_sv_reass_custom_node) (vlib_main_t * vm,         
  1005                                          vlib_node_runtime_t * node,     
                
  1006                                          vlib_frame_t * frame)     
  1007 {                                                                  
  1008   return ip4_sv_reass_inline (vm, node, frame, false /* is_feature */ ,  
               
  1009                               false /* is_output_feature */ ,            
               
  1010                               true /* is_custom */ );                    
               
  1011 }

Thanks,
Klement

> On 8 Sep 2020, at 11:56, Satya Murthy <satyamurthy1...@gmail.com> wrote:
> 
> [Edited Message Follows]
> 
> Hi,
> 
> Looking at the ip4 full reassembly graph nodes for the purpose of punting the 
> fragments and getting the reassembled packets from our custom graph node.
> However, from the code it seems that,  is_custom_app flag is effectively 
> disabled.
> 
> I see that the node function is always getting called with is_custom_app = 
> false.
> 
> VLIB_NODE_FN (ip4_full_reass_node) (vlib_main_t * vm,
>                     vlib_node_runtime_t * node,
>                     vlib_frame_t * frame)
> {
>   return ip4_full_reass_inline (vm, node, frame, false /* is_feature */ ,
>                 false /* is_custom_app */ );   <<<<<<<<<<<<<<<< always called 
> with  FALSE
> }
> 
> We also observed that sv_reassembly has custom_app functionality. But, we 
> need fully reassembled packet, and hence looking at full_reassembly 
> functionality.
> 
> Is there a way to use this is_custom_app flag functionality  in 
> full_reassembly ? 
> 
> -- 
> Thanks & Regards,
> Murthy 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#17342): https://lists.fd.io/g/vpp-dev/message/17342
Mute This Topic: https://lists.fd.io/mt/76705450/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to