| /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 61 ct = nf_ct_get(skb_in, &ctinfo); in icmpv6_ndo_send() 63 __icmpv6_send(skb_in, type, code, info, &parm); in icmpv6_ndo_send() 67 if (skb_shared(skb_in)) in icmpv6_ndo_send() 68 skb_in = cloned_skb = skb_clone(skb_in, GFP_ATOMIC); in icmpv6_ndo_send() 70 if (unlikely(!skb_in || skb_network_header(skb_in) < skb_in->head || in icmpv6_ndo_send() 71 (skb_network_header(skb_in) + sizeof(struct ipv6hdr)) > in icmpv6_ndo_send() 72 skb_tail_pointer(skb_in) || skb_ensure_writable(skb_in, in icmpv6_ndo_send() 73 skb_network_offset(skb_in) + sizeof(struct ipv6hdr)))) in icmpv6_ndo_send() 76 orig_ip = ipv6_hdr(skb_in)->saddr; in icmpv6_ndo_send() [all …]
|
| H A D | icmp.c | 562 icmp6_ext_append(struct net *net, struct sk_buff *skb_in, in icmp6_ext_append() argument 595 skb = skb_clone(skb_in, GFP_ATOMIC); in icmp6_ext_append()
|
| /linux/net/ipv4/ |
| H A D | icmp.c | 494 struct sk_buff *skb_in, in icmp_route_lookup() argument 515 route_lookup_dev = icmp_get_route_lookup_dev(skb_in); in icmp_route_lookup() 518 security_skb_classify_flow(skb_in, flowi4_to_flowi_common(fl4)); in icmp_route_lookup() 519 rt = ip_route_output_key_hash(net, fl4, skb_in); in icmp_route_lookup() 540 err = xfrm_decode_session_reverse(net, skb_in, flowi4_to_flowi(&fl4_dec), AF_INET); in icmp_route_lookup() 560 orefdst = skb_dstref_steal(skb_in); in icmp_route_lookup() 561 err = ip_route_input(skb_in, fl4_dec.daddr, fl4_dec.saddr, in icmp_route_lookup() 565 rt2 = skb_rtable(skb_in); in icmp_route_lookup() 567 skb_dstref_steal(skb_in); in icmp_route_lookup() 568 skb_dstref_restore(skb_in, orefdst); 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)); 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 54 __icmp_send(skb_in, type, code, info, &parm); in icmp_ndo_send()
|
| /linux/net/ipv4/netfilter/ |
| H A D | nf_reject_ipv4.c | 255 static int nf_reject_fill_skb_dst(struct sk_buff *skb_in) in nf_reject_fill_skb_dst() argument 261 fl.u.ip4.daddr = ip_hdr(skb_in)->saddr; in nf_reject_fill_skb_dst() 262 nf_ip_route(dev_net(skb_in->dev), &dst, &fl, false); in nf_reject_fill_skb_dst() 266 skb_dst_set(skb_in, dst); in nf_reject_fill_skb_dst() 346 void nf_send_unreach(struct sk_buff *skb_in, int code, int hook) in nf_send_unreach() argument 348 struct iphdr *iph = ip_hdr(skb_in); in nf_send_unreach() 349 int dataoff = ip_hdrlen(skb_in); in nf_send_unreach() 355 if (!skb_dst(skb_in) && nf_reject_fill_skb_dst(skb_in) < 0) in nf_send_unreach() 358 if (skb_csum_unnecessary(skb_in) || in nf_send_unreach() 359 !nf_reject_verify_csum(skb_in, dataoff, proto)) { in nf_send_unreach() [all …]
|
| /linux/include/linux/usb/ |
| H A D | cdc_ncm.h | 161 int cdc_ncm_rx_verify_nth16(struct cdc_ncm_ctx *ctx, struct sk_buff *skb_in); 162 int cdc_ncm_rx_verify_ndp16(struct sk_buff *skb_in, int ndpoffset); 163 int cdc_ncm_rx_verify_nth32(struct cdc_ncm_ctx *ctx, struct sk_buff *skb_in); 164 int cdc_ncm_rx_verify_ndp32(struct sk_buff *skb_in, int ndpoffset); 167 int cdc_ncm_rx_fixup(struct usbnet *dev, struct sk_buff *skb_in);
|
| /linux/net/ipv6/netfilter/ |
| H A D | nf_reject_ipv6.c | 296 static int nf_reject6_fill_skb_dst(struct sk_buff *skb_in) in nf_reject6_fill_skb_dst() argument 302 fl.u.ip6.daddr = ipv6_hdr(skb_in)->saddr; in nf_reject6_fill_skb_dst() 303 nf_ip6_route(dev_net(skb_in->dev), &dst, &fl, false); in nf_reject6_fill_skb_dst() 307 skb_dst_set(skb_in, dst); in nf_reject6_fill_skb_dst() 434 void nf_send_unreach6(struct net *net, struct sk_buff *skb_in, in nf_send_unreach6() argument 437 if (!reject6_csum_ok(skb_in, hooknum)) in nf_send_unreach6() 440 if (hooknum == NF_INET_LOCAL_OUT && skb_in->dev == NULL) in nf_send_unreach6() 441 skb_in->dev = net->loopback_dev; in nf_send_unreach6() 443 if (!skb_dst(skb_in) && nf_reject6_fill_skb_dst(skb_in) < 0) in nf_send_unreach6() 446 icmpv6_send(skb_in, ICMPV6_DEST_UNREACH, code, 0); in nf_send_unreach6()
|
| /linux/drivers/net/usb/ |
| H A D | cdc_ncm.c | 1557 int cdc_ncm_rx_verify_nth16(struct cdc_ncm_ctx *ctx, struct sk_buff *skb_in) in cdc_ncm_rx_verify_nth16() argument 1559 struct usbnet *dev = netdev_priv(skb_in->dev); in cdc_ncm_rx_verify_nth16() 1567 if (skb_in->len < (sizeof(struct usb_cdc_ncm_nth16) + in cdc_ncm_rx_verify_nth16() 1573 nth16 = (struct usb_cdc_ncm_nth16 *)skb_in->data; in cdc_ncm_rx_verify_nth16() 1605 int cdc_ncm_rx_verify_nth32(struct cdc_ncm_ctx *ctx, struct sk_buff *skb_in) in cdc_ncm_rx_verify_nth32() argument 1607 struct usbnet *dev = netdev_priv(skb_in->dev); in cdc_ncm_rx_verify_nth32() 1615 if (skb_in->len < (sizeof(struct usb_cdc_ncm_nth32) + in cdc_ncm_rx_verify_nth32() 1621 nth32 = (struct usb_cdc_ncm_nth32 *)skb_in->data; in cdc_ncm_rx_verify_nth32() 1654 int cdc_ncm_rx_verify_ndp16(struct sk_buff *skb_in, int ndpoffset) in cdc_ncm_rx_verify_ndp16() argument 1656 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/net/hsr/ |
| H A D | hsr_netlink.c | 309 static int hsr_get_node_status(struct sk_buff *skb_in, struct genl_info *info) in hsr_get_node_status() argument 353 msg_head = genlmsg_put(skb_out, NETLINK_CB(skb_in).portid, in hsr_get_node_status() 431 netlink_ack(skb_in, nlmsg_hdr(skb_in), -EINVAL, NULL); in hsr_get_node_status() 445 static int hsr_get_node_list(struct sk_buff *skb_in, struct genl_info *info) in hsr_get_node_list() argument 480 msg_head = genlmsg_put(skb_out, NETLINK_CB(skb_in).portid, in hsr_get_node_list() 522 netlink_ack(skb_in, nlmsg_hdr(skb_in), -EINVAL, NULL); in hsr_get_node_list()
|
| 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/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/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,
|