/linux/net/ipv6/ |
H A D | ip6_icmp.c | 52 void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info) in icmpv6_ndo_send() argument 60 ct = nf_ct_get(skb_in, &ctinfo); in icmpv6_ndo_send() 62 __icmpv6_send(skb_in, type, code, info, &parm); in icmpv6_ndo_send() 66 if (skb_shared(skb_in)) in icmpv6_ndo_send() 67 skb_in = cloned_skb = skb_clone(skb_in, GFP_ATOMIC); in icmpv6_ndo_send() 69 if (unlikely(!skb_in || skb_network_header(skb_in) < skb_in->head || in icmpv6_ndo_send() 70 (skb_network_header(skb_in) + sizeof(struct ipv6hdr)) > in icmpv6_ndo_send() 71 skb_tail_pointer(skb_in) || skb_ensure_writable(skb_in, in icmpv6_ndo_send() 72 skb_network_offset(skb_in) + sizeof(struct ipv6hdr)))) in icmpv6_ndo_send() 75 orig_ip = ipv6_hdr(skb_in)->saddr; in icmpv6_ndo_send() [all …]
|
/linux/net/ipv4/ |
H A D | icmp.c | 481 struct sk_buff *skb_in, in icmp_route_lookup() argument 502 route_lookup_dev = icmp_get_route_lookup_dev(skb_in); in icmp_route_lookup() 505 security_skb_classify_flow(skb_in, flowi4_to_flowi_common(fl4)); in icmp_route_lookup() 506 rt = ip_route_output_key_hash(net, fl4, skb_in); in icmp_route_lookup() 527 err = xfrm_decode_session_reverse(net, skb_in, flowi4_to_flowi(&fl4_dec), AF_INET); in icmp_route_lookup() 547 orefdst = skb_in->_skb_refdst; /* save old refdst */ in icmp_route_lookup() 548 skb_dst_set(skb_in, NULL); in icmp_route_lookup() 549 err = ip_route_input(skb_in, fl4_dec.daddr, fl4_dec.saddr, in icmp_route_lookup() 553 rt2 = skb_rtable(skb_in); in icmp_route_lookup() 554 skb_in->_skb_refdst = orefdst; /* restore old refdst */ in icmp_route_lookup() [all …]
|
/linux/include/net/ |
H A D | icmp.h | 39 void __icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info, 41 static inline void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) in icmp_send() argument 43 __icmp_send(skb_in, type, code, info, &IPCB(skb_in)->opt); in icmp_send() 47 void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info); 49 static inline void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info) in icmp_ndo_send() argument 52 __icmp_send(skb_in, type, code, info, &opts); in icmp_ndo_send()
|
/linux/net/ipv4/netfilter/ |
H A D | nf_reject_ipv4.c | 223 static int nf_reject_fill_skb_dst(struct sk_buff *skb_in) in nf_reject_fill_skb_dst() argument 229 fl.u.ip4.daddr = ip_hdr(skb_in)->saddr; in nf_reject_fill_skb_dst() 230 nf_ip_route(dev_net(skb_in->dev), &dst, &fl, false); in nf_reject_fill_skb_dst() 234 skb_dst_set(skb_in, dst); in nf_reject_fill_skb_dst() 315 void nf_send_unreach(struct sk_buff *skb_in, int code, int hook) in nf_send_unreach() argument 317 struct iphdr *iph = ip_hdr(skb_in); in nf_send_unreach() 318 int dataoff = ip_hdrlen(skb_in); in nf_send_unreach() 325 nf_reject_fill_skb_dst(skb_in) < 0) in nf_send_unreach() 328 if (skb_csum_unnecessary(skb_in) || in nf_send_unreach() 329 !nf_reject_verify_csum(skb_in, dataoff, proto)) { in nf_send_unreach() [all …]
|
/linux/include/linux/usb/ |
H A D | cdc_ncm.h | 160 int cdc_ncm_rx_verify_nth16(struct cdc_ncm_ctx *ctx, struct sk_buff *skb_in); 161 int cdc_ncm_rx_verify_ndp16(struct sk_buff *skb_in, int ndpoffset); 162 int cdc_ncm_rx_verify_nth32(struct cdc_ncm_ctx *ctx, struct sk_buff *skb_in); 163 int cdc_ncm_rx_verify_ndp32(struct sk_buff *skb_in, int ndpoffset); 166 int cdc_ncm_rx_fixup(struct usbnet *dev, struct sk_buff *skb_in);
|
/linux/net/ipv6/netfilter/ |
H A D | nf_reject_ipv6.c | 253 static int nf_reject6_fill_skb_dst(struct sk_buff *skb_in) in nf_reject6_fill_skb_dst() argument 259 fl.u.ip6.daddr = ipv6_hdr(skb_in)->saddr; in nf_reject6_fill_skb_dst() 260 nf_ip6_route(dev_net(skb_in->dev), &dst, &fl, false); in nf_reject6_fill_skb_dst() 264 skb_dst_set(skb_in, dst); in nf_reject6_fill_skb_dst() 391 void nf_send_unreach6(struct net *net, struct sk_buff *skb_in, in nf_send_unreach6() argument 394 if (!reject6_csum_ok(skb_in, hooknum)) in nf_send_unreach6() 397 if (hooknum == NF_INET_LOCAL_OUT && skb_in->dev == NULL) in nf_send_unreach6() 398 skb_in->dev = net->loopback_dev; in nf_send_unreach6() 401 nf_reject6_fill_skb_dst(skb_in) < 0) in nf_send_unreach6() 404 icmpv6_send(skb_in, ICMPV6_DEST_UNREACH, code, 0); in nf_send_unreach6()
|
/linux/drivers/net/usb/ |
H A D | cdc_ncm.c | 1554 int cdc_ncm_rx_verify_nth16(struct cdc_ncm_ctx *ctx, struct sk_buff *skb_in) in cdc_ncm_rx_verify_nth16() argument 1556 struct usbnet *dev = netdev_priv(skb_in->dev); in cdc_ncm_rx_verify_nth16() 1564 if (skb_in->len < (sizeof(struct usb_cdc_ncm_nth16) + in cdc_ncm_rx_verify_nth16() 1570 nth16 = (struct usb_cdc_ncm_nth16 *)skb_in->data; in cdc_ncm_rx_verify_nth16() 1602 int cdc_ncm_rx_verify_nth32(struct cdc_ncm_ctx *ctx, struct sk_buff *skb_in) in cdc_ncm_rx_verify_nth32() argument 1604 struct usbnet *dev = netdev_priv(skb_in->dev); in cdc_ncm_rx_verify_nth32() 1612 if (skb_in->len < (sizeof(struct usb_cdc_ncm_nth32) + in cdc_ncm_rx_verify_nth32() 1618 nth32 = (struct usb_cdc_ncm_nth32 *)skb_in->data; in cdc_ncm_rx_verify_nth32() 1651 int cdc_ncm_rx_verify_ndp16(struct sk_buff *skb_in, int ndpoffset) in cdc_ncm_rx_verify_ndp16() argument 1653 struct usbnet *dev = netdev_priv(skb_in->dev); in cdc_ncm_rx_verify_ndp16() [all …]
|
H A D | cdc_mbim.c | 411 static int cdc_mbim_rx_fixup(struct usbnet *dev, struct sk_buff *skb_in) in cdc_mbim_rx_fixup() argument 428 ndpoffset = cdc_ncm_rx_verify_nth16(ctx, skb_in); in cdc_mbim_rx_fixup() 433 nframes = cdc_ncm_rx_verify_ndp16(skb_in, ndpoffset); in cdc_mbim_rx_fixup() 437 ndp16 = (struct usb_cdc_ncm_ndp16 *)(skb_in->data + ndpoffset); in cdc_mbim_rx_fixup() 475 if (((offset + len) > skb_in->len) || (len > ctx->rx_max)) { in cdc_mbim_rx_fixup() 478 x, offset, len, skb_in); in cdc_mbim_rx_fixup() 483 skb = cdc_mbim_process_dgram(dev, skb_in->data + offset, len, tci); in cdc_mbim_rx_fixup() 497 ctx->rx_overhead += skb_in->len - payload; in cdc_mbim_rx_fixup()
|
/linux/include/linux/ |
H A D | icmpv6.h | 56 void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info); 58 static inline void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info) in icmpv6_ndo_send() argument 61 __icmpv6_send(skb_in, type, code, info, &parm); in icmpv6_ndo_send()
|
/linux/net/hsr/ |
H A D | hsr_forward.c | 149 static struct sk_buff *create_stripped_skb_hsr(struct sk_buff *skb_in, in create_stripped_skb_hsr() argument 156 skb_pull(skb_in, HSR_HLEN); in create_stripped_skb_hsr() 157 skb = __pskb_copy(skb_in, skb_headroom(skb_in) - HSR_HLEN, GFP_ATOMIC); in create_stripped_skb_hsr() 158 skb_push(skb_in, HSR_HLEN); in create_stripped_skb_hsr() 170 src = skb_mac_header(skb_in); in create_stripped_skb_hsr()
|
/linux/include/net/netfilter/ipv4/ |
H A D | nf_reject.h | 10 void nf_send_unreach(struct sk_buff *skb_in, int code, int hook);
|
/linux/include/net/netfilter/ipv6/ |
H A D | nf_reject.h | 8 void nf_send_unreach6(struct net *net, struct sk_buff *skb_in, unsigned char code,
|