forked from luck/tmp_suning_uos_patched
l2tp: Refactor the codes with existing macros instead of literal number
Use PPP_ALLSTATIONS, PPP_UI, and SEND_SHUTDOWN instead of 0xff, 0x03, and 2 separately. Signed-off-by: Gao Feng <fgao@ikuai8.com> Acked-by: Guillaume Nault <g.nault@alphalink.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c74db31f79
commit
54c151d9ed
|
@ -177,7 +177,7 @@ static int pppol2tp_recv_payload_hook(struct sk_buff *skb)
|
|||
if (!pskb_may_pull(skb, 2))
|
||||
return 1;
|
||||
|
||||
if ((skb->data[0] == 0xff) && (skb->data[1] == 0x03))
|
||||
if ((skb->data[0] == PPP_ALLSTATIONS) && (skb->data[1] == PPP_UI))
|
||||
skb_pull(skb, 2);
|
||||
|
||||
return 0;
|
||||
|
@ -282,7 +282,6 @@ static void pppol2tp_session_sock_put(struct l2tp_session *session)
|
|||
static int pppol2tp_sendmsg(struct socket *sock, struct msghdr *m,
|
||||
size_t total_len)
|
||||
{
|
||||
static const unsigned char ppph[2] = { 0xff, 0x03 };
|
||||
struct sock *sk = sock->sk;
|
||||
struct sk_buff *skb;
|
||||
int error;
|
||||
|
@ -312,7 +311,7 @@ static int pppol2tp_sendmsg(struct socket *sock, struct msghdr *m,
|
|||
error = -ENOMEM;
|
||||
skb = sock_wmalloc(sk, NET_SKB_PAD + sizeof(struct iphdr) +
|
||||
uhlen + session->hdr_len +
|
||||
sizeof(ppph) + total_len,
|
||||
2 + total_len, /* 2 bytes for PPP_ALLSTATIONS & PPP_UI */
|
||||
0, GFP_KERNEL);
|
||||
if (!skb)
|
||||
goto error_put_sess_tun;
|
||||
|
@ -325,8 +324,8 @@ static int pppol2tp_sendmsg(struct socket *sock, struct msghdr *m,
|
|||
skb_reserve(skb, uhlen);
|
||||
|
||||
/* Add PPP header */
|
||||
skb->data[0] = ppph[0];
|
||||
skb->data[1] = ppph[1];
|
||||
skb->data[0] = PPP_ALLSTATIONS;
|
||||
skb->data[1] = PPP_UI;
|
||||
skb_put(skb, 2);
|
||||
|
||||
/* Copy user data into skb */
|
||||
|
@ -369,7 +368,6 @@ static int pppol2tp_sendmsg(struct socket *sock, struct msghdr *m,
|
|||
*/
|
||||
static int pppol2tp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
|
||||
{
|
||||
static const u8 ppph[2] = { 0xff, 0x03 };
|
||||
struct sock *sk = (struct sock *) chan->private;
|
||||
struct sock *sk_tun;
|
||||
struct l2tp_session *session;
|
||||
|
@ -398,14 +396,14 @@ static int pppol2tp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
|
|||
sizeof(struct iphdr) + /* IP header */
|
||||
uhlen + /* UDP header (if L2TP_ENCAPTYPE_UDP) */
|
||||
session->hdr_len + /* L2TP header */
|
||||
sizeof(ppph); /* PPP header */
|
||||
2; /* 2 bytes for PPP_ALLSTATIONS & PPP_UI */
|
||||
if (skb_cow_head(skb, headroom))
|
||||
goto abort_put_sess_tun;
|
||||
|
||||
/* Setup PPP header */
|
||||
__skb_push(skb, sizeof(ppph));
|
||||
skb->data[0] = ppph[0];
|
||||
skb->data[1] = ppph[1];
|
||||
__skb_push(skb, 2);
|
||||
skb->data[0] = PPP_ALLSTATIONS;
|
||||
skb->data[1] = PPP_UI;
|
||||
|
||||
local_bh_disable();
|
||||
l2tp_xmit_skb(session, skb, session->hdr_len);
|
||||
|
@ -440,7 +438,7 @@ static void pppol2tp_session_close(struct l2tp_session *session)
|
|||
BUG_ON(session->magic != L2TP_SESSION_MAGIC);
|
||||
|
||||
if (sock) {
|
||||
inet_shutdown(sock, 2);
|
||||
inet_shutdown(sock, SEND_SHUTDOWN);
|
||||
/* Don't let the session go away before our socket does */
|
||||
l2tp_session_inc_refcount(session);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user