sk_pppox
if (po && !refcount_inc_not_zero(&sk_pppox(po)->sk_refcnt))
sk = sk_pppox(po);
if ((sk_pppox(relay_po)->sk_state & PPPOX_CONNECTED) == 0)
if (!__pppoe_xmit(sk_pppox(relay_po), skb))
return __sk_receive_skb(sk_pppox(po), skb, 0, 1, false);
struct sock *sk = sk_pppox(po);
sock_put(sk_pppox(po));
if (sk_pppox(po)->sk_state & PPPOX_DEAD)
return sk_receive_skb(sk_pppox(po), skb, 0);
sock_hold(sk_pppox(sock));