allow wccp processing to be enabled per interface with the link0 flag.
authordlg <dlg@openbsd.org>
Fri, 16 Feb 2018 01:28:07 +0000 (01:28 +0000)
committerdlg <dlg@openbsd.org>
Fri, 16 Feb 2018 01:28:07 +0000 (01:28 +0000)
commit3058f56482792d804647bcf2d464e9bc66b0da93
tree2f0a8e2ee00c4d319838aa0e7d11ea4791ae8d7c
parentd9f1f160a078159adab2bc5d4e49aa64f49e9341
allow wccp processing to be enabled per interface with the link0 flag.

this also changes the wccp handling to peek into it's payload to
determine whether it is wccp 1 or 2. wccp1 says the gre header is
followed by ipv4, while wccp2 says there's a small header before
the ipv4 packet. the wccp2 header cannot have 4 in the first nibble,
while ipv4 must have 4 in the first nibble. the code now looks at
the nibble to determine whether it should strip the wccp2 header
or not.
share/man/man4/gre.4
sys/net/if_gre.c