TUN-6530: Implement ICMPv4 proxy

This proxy uses unprivileged datagram-oriented endpoint and is shared by all quic connections
This commit is contained in:
cthuang
2022-08-18 16:03:47 +01:00
parent f6bd4aa039
commit 59f5b0df83
10 changed files with 440 additions and 126 deletions

View File

@@ -75,9 +75,9 @@ func NewIPDecoder() *IPDecoder {
}
}
func (pd *IPDecoder) Decode(packet []byte) (*IP, error) {
func (pd *IPDecoder) Decode(packet RawPacket) (*IP, error) {
// Should decode to IP layer
decoded, err := pd.decodeByVersion(packet)
decoded, err := pd.decodeByVersion(packet.Data)
if err != nil {
return nil, err
}
@@ -139,9 +139,9 @@ func NewICMPDecoder() *ICMPDecoder {
}
}
func (pd *ICMPDecoder) Decode(packet []byte) (*ICMP, error) {
func (pd *ICMPDecoder) Decode(packet RawPacket) (*ICMP, error) {
// Should decode to IP and optionally ICMP layer
decoded, err := pd.decodeByVersion(packet)
decoded, err := pd.decodeByVersion(packet.Data)
if err != nil {
return nil, err
}