On Tue, Sep 29, 2020 at 09:49:02PM +0800, Xin Long wrote: > static int sctp_udp_rcv(struct sock *sk, struct sk_buff *skb) > { > + memset(skb->cb, 0, sizeof(skb->cb)); > + SCTP_INPUT_CB(skb)->encap_port = ntohs(udp_hdr(skb)->source); Here it's in host order already. The fact that is does this transparent update probably hid the other issue. > + > skb_set_transport_header(skb, sizeof(struct udphdr)); > sctp_rcv(skb); > return 0;