Hi Andrea, Thank you for the review.
> The patch 4 review applies here, except for the parts where Section 6.4 is > implemented instead of Section 6.3 (which is incorrectly implemented in > patch 4). Answered in the patch 4 reply: the next version of End.M.GTP6.D will implement Section 6.3 (Args.Mob.Session stamped into SRH[0], no preserved D), leaving the original-DA preservation exclusive to this drop-in variant. > input_action_end_m_gtp6_d_di() and its finish callback are largely > identical to the patch 4 functions (input_action_end_m_gtp6_d() and its > finish): the SRH check, GTP-U dispatch, outer strip, inner protocol > detection, and NF_HOOK invocation are identical. The duplication should be > reduced via shared helpers. Will do. The plan is one decap helper (SRH check, GTP-U dispatch, outer strip, inner protocol detection) shared between End.M.GTP6.D and End.M.GTP6.D.Di, and one SRv6-push helper (including the GSO offload setup) shared with H.M.GTP4.D as well, with the GTP-U parser common to all of them. The D.Di handler then reduces to the prepended-slot handling specific to the drop-in variant. (The NF_HOOK invocation goes away in the initial series per the cover letter thread.) > D.Di does not use teid or qfi, so these variables and the (void) casts are > dead code and should be avoided. For example, seg6_mobile_parse_gtpu() could > accept NULL for teid and qfi so callers that do not need them can pass NULL > directly. Will do exactly that: the GTP-U parser (and the decap helper above) will accept NULL for teid/qfi, and the drop-in variant will pass NULL. Thanks, Yuya

