2021-05-11 03:07:18

by David Ahern

[permalink] [raw]
Subject: Re: [PATCH] net/ipv4/ip_fragment:fix missing Flags reserved bit set in iphdr

On 5/10/21 7:18 PM, meijusan wrote:
>
> At 2021-05-08 06:59:00, "Jakub Kicinski" <[email protected]> wrote:
>> On Thu, 6 May 2021 22:59:05 +0800 meijusan wrote:
>>> ip frag with the iphdr flags reserved bit set,via router,ip frag reasm or
>>> fragment,causing the reserved bit is reset to zero.
>>>
>>> Keep reserved bit set is not modified in ip frag defrag or fragment.
>>>
>>> Signed-off-by: meijusan <[email protected]>
>>
>> Could you please provide more background on why we'd want to do this?
>
>> Preferably with references to relevant (non-April Fools' Day) RFCs.
>
> [background]
> the Simple network usage scenarios: the one PC software<--->linux router(L3)/linux bridege(L2,bridge-nf-call-iptables)<--->the other PC software
> 1)the PC software send the ip packet with the iphdr flags reserved bit is set, when ip packet(not fragments ) via the one linux router/linux bridge,and the iphdr flags reserved bit is not modified;
> 2)but the ip fragments via router,the linux IP reassembly or fragmentation ,causing the reserved bit is reset to zero,Which leads to The other PC software depending on the reserved bit set process the Packet failed.
> [rfc]
> RFC791
> Bit 0: reserved, must be zero
> RFC3514
> Introduction This bit , but The scene seems different from us??we expect Keep reserved bit set is not modified when forward the linux router
>
>
>
>
>

Why process the packet at all? If a reserved bit must be 0 and it is
not, drop the packet.