github.com/cilium/ebpf@v0.16.0/link/socket_filter_test.go (about)

     1  package link
     2  
     3  import (
     4  	"net"
     5  	"testing"
     6  
     7  	"github.com/cilium/ebpf"
     8  )
     9  
    10  func TestSocketFilterAttach(t *testing.T) {
    11  	prog := mustLoadProgram(t, ebpf.SocketFilter, 0, "")
    12  
    13  	defer prog.Close()
    14  
    15  	conn, err := net.ListenUDP("udp4", &net.UDPAddr{IP: net.IPv4(127, 0, 0, 1)})
    16  	if err != nil {
    17  		t.Fatal(err)
    18  	}
    19  	defer conn.Close()
    20  
    21  	if err := AttachSocketFilter(conn, prog); err != nil {
    22  		t.Fatal(err)
    23  	}
    24  
    25  	if err := DetachSocketFilter(conn); err != nil {
    26  		t.Fatal(err)
    27  	}
    28  }