Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

l2tp: remove header length param from l2tp_xmit_skb

All callers pass the session structure's hdr_len field as the header
length parameter to l2tp_xmit_skb.

Since we're passing a pointer to the session structure to l2tp_xmit_skb
anyway, there's not much point breaking the header length out as a
separate argument.

Signed-off-by: Tom Parkin <tparkin@katalix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Tom Parkin and committed by
David S. Miller
efe05278 ffd923f5

+9 -10
+5 -5
net/l2tp/l2tp_core.c
··· 1017 1017 /* If caller requires the skb to have a ppp header, the header must be 1018 1018 * inserted in the skb data before calling this function. 1019 1019 */ 1020 - int l2tp_xmit_skb(struct l2tp_session *session, struct sk_buff *skb, int hdr_len) 1020 + int l2tp_xmit_skb(struct l2tp_session *session, struct sk_buff *skb) 1021 1021 { 1022 1022 int data_len = skb->len; 1023 1023 struct l2tp_tunnel *tunnel = session->tunnel; ··· 1035 1035 * make room. Adjust truesize. 1036 1036 */ 1037 1037 headroom = NET_SKB_PAD + sizeof(struct iphdr) + 1038 - uhlen + hdr_len; 1038 + uhlen + session->hdr_len; 1039 1039 if (skb_cow_head(skb, headroom)) { 1040 1040 kfree_skb(skb); 1041 1041 return NET_XMIT_DROP; ··· 1043 1043 1044 1044 /* Setup L2TP header */ 1045 1045 if (tunnel->version == L2TP_HDR_VER_2) 1046 - l2tp_build_l2tpv2_header(session, __skb_push(skb, hdr_len)); 1046 + l2tp_build_l2tpv2_header(session, __skb_push(skb, session->hdr_len)); 1047 1047 else 1048 - l2tp_build_l2tpv3_header(session, __skb_push(skb, hdr_len)); 1048 + l2tp_build_l2tpv3_header(session, __skb_push(skb, session->hdr_len)); 1049 1049 1050 1050 /* Reset skb netfilter state */ 1051 1051 memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); ··· 1079 1079 uh = udp_hdr(skb); 1080 1080 uh->source = inet->inet_sport; 1081 1081 uh->dest = inet->inet_dport; 1082 - udp_len = uhlen + hdr_len + data_len; 1082 + udp_len = uhlen + session->hdr_len + data_len; 1083 1083 uh->len = htons(udp_len); 1084 1084 1085 1085 /* Calculate UDP checksum if configured to do so */
+1 -2
net/l2tp/l2tp_core.h
··· 261 261 262 262 /* Transmit path helpers for sending packets over the tunnel socket. */ 263 263 void l2tp_session_set_header_len(struct l2tp_session *session, int version); 264 - int l2tp_xmit_skb(struct l2tp_session *session, struct sk_buff *skb, 265 - int hdr_len); 264 + int l2tp_xmit_skb(struct l2tp_session *session, struct sk_buff *skb); 266 265 267 266 /* Pseudowire management. 268 267 * Pseudowires should register with l2tp core on module init, and unregister
+1 -1
net/l2tp/l2tp_eth.c
··· 76 76 struct l2tp_eth *priv = netdev_priv(dev); 77 77 struct l2tp_session *session = priv->session; 78 78 unsigned int len = skb->len; 79 - int ret = l2tp_xmit_skb(session, skb, session->hdr_len); 79 + int ret = l2tp_xmit_skb(session, skb); 80 80 81 81 if (likely(ret == NET_XMIT_SUCCESS)) { 82 82 atomic_long_add(len, &priv->tx_bytes);
+2 -2
net/l2tp/l2tp_ppp.c
··· 316 316 } 317 317 318 318 local_bh_disable(); 319 - l2tp_xmit_skb(session, skb, session->hdr_len); 319 + l2tp_xmit_skb(session, skb); 320 320 local_bh_enable(); 321 321 322 322 sock_put(sk); ··· 375 375 skb->data[1] = PPP_UI; 376 376 377 377 local_bh_disable(); 378 - l2tp_xmit_skb(session, skb, session->hdr_len); 378 + l2tp_xmit_skb(session, skb); 379 379 local_bh_enable(); 380 380 381 381 sock_put(sk);