Hi Justin, The expectation until now has been that options are not parsed until hitting the tcp related nodes. If tcp_options_parse is enough, then make it public and use it. That function just expects a tcp_options_t struct for outputting the results so no need for a tcp_connection_t. Now, if you need your special function to both read, match and update in place the options, then I recommend you write your own options parser.
Hope this helps, Florin > On Nov 14, 2017, at 5:13 AM, Justin Iurman <justin.iur...@uliege.be> wrote: > > Hi Dave, > > Thanks (again) for your reply. > >> Brief commercial: hopefully you added your node to the ip4 unicast feature >> arc, >> configured to grab pkts, pre-ip4/6-lookup. > > Indeed, I added my node to the ip4-unicast feature arc. > >> In feature-arc land, the following one-liner sets next0 so pkts will visit >> the >> next enabled feature. The last node in the ip4-unicast feature arc is >> ip4-lookup... >> >> /* Next node in unicast feature arc */ >> vnet_get_config_data (em->config_main[table_index], >> &b0->current_config_index, &next0, >> /* # bytes of config data */ 0); >> >> Check the ip protocol and ignore any non-TCP pkts: >> >> ip40 = vlib_buffer_get_current (b0); >> if (ip40->protocol != IP_PROTOCOL_TCP) >> goto trace0; >> >> Then use ip4_next_header() to find the tcp layer, etc. etc. > > Actually, I'm already able to access L3 and L4 structures. But, when I have > the following, for instance: > > ip40 = vlib_buffer_get_current (b0); > if (ip40->protocol == IP_PROTOCOL_TCP) > { > tcp_header_t *tcp = ip4_next_header(ip40); > // where are options (tcp_options_t) ? > } > > How am I able to access TCP options for each packet ? I mean, I could > directly parse them by moving the data pointer but I've also seen a function > called tcp_options_parse (see my previous email) that already does this job. > How would you proceed to do this ? The expected behavior is to match some > options and strip them. > > Thanks, > > Justin > _______________________________________________ > vpp-dev mailing list > vpp-dev@lists.fd.io > https://lists.fd.io/mailman/listinfo/vpp-dev _______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev