'Socket Buffer for bpf, __sk_buff

I am playing ebpf code and got a sample like so:

int tc_ingress(struct __sk_buff *skb)
{
    void *data = (void *)(long)skb->data;
    struct ethhdr *eth = data, eth_copy; # what is this line doing? 
}

AS I am new to C and kernel, got stuck on many smaller things. Can some tell me what is this line mean?

struct ethhdr *eth = data, eth_copy;
c


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source