Loading include/net/icmp.h +8 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <net/inet_sock.h> #include <net/snmp.h> #include <net/ip.h> struct icmp_err { int errno; Loading @@ -39,7 +40,13 @@ struct net_proto_family; struct sk_buff; struct net; void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info); void __icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info, const struct ip_options *opt); static inline void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) { __icmp_send(skb_in, type, code, info, &IPCB(skb_in)->opt); } int icmp_rcv(struct sk_buff *skb); int icmp_err(struct sk_buff *skb, u32 info); int icmp_init(void); Loading net/ipv4/icmp.c +4 −3 Original line number Diff line number Diff line Loading @@ -570,7 +570,8 @@ static struct rtable *icmp_route_lookup(struct net *net, * MUST reply to only the first fragment. */ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) void __icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info, const struct ip_options *opt) { struct iphdr *iph; int room; Loading Loading @@ -691,7 +692,7 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) iph->tos; mark = IP4_REPLY_MARK(net, skb_in->mark); if (ip_options_echo(net, &icmp_param.replyopts.opt.opt, skb_in)) if (__ip_options_echo(net, &icmp_param.replyopts.opt.opt, skb_in, opt)) goto out_unlock; Loading Loading @@ -742,7 +743,7 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) local_bh_enable(); out:; } EXPORT_SYMBOL(icmp_send); EXPORT_SYMBOL(__icmp_send); static void icmp_socket_deliver(struct sk_buff *skb, u32 info) Loading Loading
include/net/icmp.h +8 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <net/inet_sock.h> #include <net/snmp.h> #include <net/ip.h> struct icmp_err { int errno; Loading @@ -39,7 +40,13 @@ struct net_proto_family; struct sk_buff; struct net; void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info); void __icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info, const struct ip_options *opt); static inline void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) { __icmp_send(skb_in, type, code, info, &IPCB(skb_in)->opt); } int icmp_rcv(struct sk_buff *skb); int icmp_err(struct sk_buff *skb, u32 info); int icmp_init(void); Loading
net/ipv4/icmp.c +4 −3 Original line number Diff line number Diff line Loading @@ -570,7 +570,8 @@ static struct rtable *icmp_route_lookup(struct net *net, * MUST reply to only the first fragment. */ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) void __icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info, const struct ip_options *opt) { struct iphdr *iph; int room; Loading Loading @@ -691,7 +692,7 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) iph->tos; mark = IP4_REPLY_MARK(net, skb_in->mark); if (ip_options_echo(net, &icmp_param.replyopts.opt.opt, skb_in)) if (__ip_options_echo(net, &icmp_param.replyopts.opt.opt, skb_in, opt)) goto out_unlock; Loading Loading @@ -742,7 +743,7 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) local_bh_enable(); out:; } EXPORT_SYMBOL(icmp_send); EXPORT_SYMBOL(__icmp_send); static void icmp_socket_deliver(struct sk_buff *skb, u32 info) Loading