Lines Matching refs:rfv
715 static int rawv6_probe_proto_opt(struct raw6_frag_vec *rfv, struct flowi6 *fl6) in rawv6_probe_proto_opt() argument
720 rfv->hlen = 2; in rawv6_probe_proto_opt()
721 err = memcpy_from_msg(rfv->c, rfv->msg, rfv->hlen); in rawv6_probe_proto_opt()
723 fl6->fl6_icmp_type = rfv->c[0]; in rawv6_probe_proto_opt()
724 fl6->fl6_icmp_code = rfv->c[1]; in rawv6_probe_proto_opt()
728 rfv->hlen = 4; in rawv6_probe_proto_opt()
729 err = memcpy_from_msg(rfv->c, rfv->msg, rfv->hlen); in rawv6_probe_proto_opt()
731 fl6->fl6_mh_type = rfv->c[2]; in rawv6_probe_proto_opt()
739 struct raw6_frag_vec *rfv = from; in raw6_getfrag() local
741 if (offset < rfv->hlen) { in raw6_getfrag()
742 int copy = min(rfv->hlen - offset, len); in raw6_getfrag()
745 memcpy(to, rfv->c + offset, copy); in raw6_getfrag()
749 csum_partial_copy_nocheck(rfv->c + offset, in raw6_getfrag()
762 offset -= rfv->hlen; in raw6_getfrag()
764 return ip_generic_getfrag(rfv->msg, to, offset, len, odd, skb); in raw6_getfrag()
779 struct raw6_frag_vec rfv; in rawv6_sendmsg() local
887 rfv.msg = msg; in rawv6_sendmsg()
888 rfv.hlen = 0; in rawv6_sendmsg()
889 err = rawv6_probe_proto_opt(&rfv, &fl6); in rawv6_sendmsg()
937 err = ip6_append_data(sk, raw6_getfrag, &rfv, in rawv6_sendmsg()