ip_output.c (db985cbd67c45f875ef43cb5febfaa8cbd203c27) ip_output.c (24a2d43d8886f5a29c3cf108927f630c545a9a38)
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * The Internet Protocol (IP) output module.
7 *
8 * Authors: Ross Biro

--- 1508 unchanged lines hidden (view full) ---

1517 .sk_wmem_alloc = ATOMIC_INIT(1),
1518 .sk_allocation = GFP_ATOMIC,
1519 .sk_flags = (1UL << SOCK_USE_WRITE_QUEUE),
1520 },
1521 .pmtudisc = IP_PMTUDISC_WANT,
1522 .uc_ttl = -1,
1523};
1524
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * The Internet Protocol (IP) output module.
7 *
8 * Authors: Ross Biro

--- 1508 unchanged lines hidden (view full) ---

1517 .sk_wmem_alloc = ATOMIC_INIT(1),
1518 .sk_allocation = GFP_ATOMIC,
1519 .sk_flags = (1UL << SOCK_USE_WRITE_QUEUE),
1520 },
1521 .pmtudisc = IP_PMTUDISC_WANT,
1522 .uc_ttl = -1,
1523};
1524
1525void ip_send_unicast_reply(struct net *net, struct sk_buff *skb, __be32 daddr,
1526 __be32 saddr, const struct ip_reply_arg *arg,
1525void ip_send_unicast_reply(struct net *net, struct sk_buff *skb,
1526 const struct ip_options *sopt,
1527 __be32 daddr, __be32 saddr,
1528 const struct ip_reply_arg *arg,
1527 unsigned int len)
1528{
1529 struct ip_options_data replyopts;
1530 struct ipcm_cookie ipc;
1531 struct flowi4 fl4;
1532 struct rtable *rt = skb_rtable(skb);
1533 struct sk_buff *nskb;
1534 struct sock *sk;
1535 struct inet_sock *inet;
1536
1529 unsigned int len)
1530{
1531 struct ip_options_data replyopts;
1532 struct ipcm_cookie ipc;
1533 struct flowi4 fl4;
1534 struct rtable *rt = skb_rtable(skb);
1535 struct sk_buff *nskb;
1536 struct sock *sk;
1537 struct inet_sock *inet;
1538
1537 if (ip_options_echo(&replyopts.opt.opt, skb))
1539 if (__ip_options_echo(&replyopts.opt.opt, skb, sopt))
1538 return;
1539
1540 ipc.addr = daddr;
1541 ipc.opt = NULL;
1542 ipc.tx_flags = 0;
1543 ipc.ttl = 0;
1544 ipc.tos = -1;
1545

--- 57 unchanged lines hidden ---
1540 return;
1541
1542 ipc.addr = daddr;
1543 ipc.opt = NULL;
1544 ipc.tx_flags = 0;
1545 ipc.ttl = 0;
1546 ipc.tos = -1;
1547

--- 57 unchanged lines hidden ---