Page MenuHomeFreeBSD

pf: Save the protocol number in the pf_fragment
ClosedPublic

Authored by kp on Jun 10 2015, 11:26 PM.
Tags
None
Referenced Files
F153185618: D2772.diff
Sun, Apr 19, 4:30 PM
Unknown Object (File)
Mon, Apr 13, 5:00 PM
Unknown Object (File)
Mon, Apr 13, 6:37 AM
Unknown Object (File)
Sun, Apr 12, 7:17 AM
Unknown Object (File)
Thu, Apr 9, 11:23 PM
Unknown Object (File)
Tue, Apr 7, 2:13 AM
Unknown Object (File)
Tue, Apr 7, 2:08 AM
Unknown Object (File)
Mon, Apr 6, 11:13 PM
Subscribers

Details

Summary

When we try to look up a pf_fragment with pf_find_fragment() we compare (see
pf_frag_compare()) addresses (and family), id but also protocol.
We failed to save the protocol to the pf_fragment in pf_fragcache(), resulting
in failing reassembly.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kp retitled this revision from to pf: Save the protocol number in the pf_fragment.
kp updated this object.
kp edited the test plan for this revision. (Show Details)
kp added reviewers: gnn, philip.
kp set the repository for this revision to rS FreeBSD src repository - subversion.
philip edited edge metadata.

Are you sure that's all of the fields in (*frag) now? :-)

Approved by: philip (mentor)

This revision is now accepted and ready to land.Jun 11 2015, 3:26 AM

Yes. We need to get all of the fields used in pf_frag_compare(). That's fr_id, fr_proto, fr_af, fr_src and fr_dst.

This revision was automatically updated to reflect the committed changes.