You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (66 commits) be2net: fix some cmds to use mccq instead of mbox atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA pkt_sched: Fix qstats.qlen updating in dump_stats ipv6: Log the affected address when DAD failure occurs wl12xx: Fix print_mac() conversion. af_iucv: fix race when queueing skbs on the backlog queue af_iucv: do not call iucv_sock_kill() twice af_iucv: handle non-accepted sockets after resuming from suspend af_iucv: fix race in __iucv_sock_wait() iucv: use correct output register in iucv_query_maxconn() iucv: fix iucv_buffer_cpumask check when calling IUCV functions iucv: suspend/resume error msg for left over pathes wl12xx: switch to %pM to print the mac address b44: the poll handler b44_poll must not enable IRQ unconditionally ipv6: Ignore route option with ROUTER_PREF_INVALID bonding: make ab_arp select active slaves as other modes cfg80211: fix SME connect rc80211_minstrel: fix contention window calculation ssb/sdio: fix printk format warnings p54usb: add Zcomax XG-705A usbid ...
This commit is contained in:
+1
-1
@@ -1372,7 +1372,7 @@ static int atalk_route_packet(struct sk_buff *skb, struct net_device *dev,
|
||||
|
||||
if (aarp_send_ddp(rt->dev, skb, &ta, NULL) == NET_XMIT_DROP)
|
||||
return NET_RX_DROP;
|
||||
return NET_XMIT_SUCCESS;
|
||||
return NET_RX_SUCCESS;
|
||||
free_it:
|
||||
kfree_skb(skb);
|
||||
drop:
|
||||
|
||||
+3
-1
@@ -199,6 +199,8 @@ static int can_create(struct net *net, struct socket *sock, int protocol)
|
||||
* @skb: pointer to socket buffer with CAN frame in data section
|
||||
* @loop: loopback for listeners on local CAN sockets (recommended default!)
|
||||
*
|
||||
* Due to the loopback this routine must not be called from hardirq context.
|
||||
*
|
||||
* Return:
|
||||
* 0 on success
|
||||
* -ENETDOWN when the selected interface is down
|
||||
@@ -278,7 +280,7 @@ int can_send(struct sk_buff *skb, int loop)
|
||||
}
|
||||
|
||||
if (newskb)
|
||||
netif_rx(newskb);
|
||||
netif_rx_ni(newskb);
|
||||
|
||||
/* update statistics */
|
||||
can_stats.tx_frames++;
|
||||
|
||||
+2
-2
@@ -1017,9 +1017,9 @@ void netdev_state_change(struct net_device *dev)
|
||||
}
|
||||
EXPORT_SYMBOL(netdev_state_change);
|
||||
|
||||
void netdev_bonding_change(struct net_device *dev)
|
||||
void netdev_bonding_change(struct net_device *dev, unsigned long event)
|
||||
{
|
||||
call_netdevice_notifiers(NETDEV_BONDING_FAILOVER, dev);
|
||||
call_netdevice_notifiers(event, dev);
|
||||
}
|
||||
EXPORT_SYMBOL(netdev_bonding_change);
|
||||
|
||||
|
||||
@@ -66,9 +66,9 @@ config IP_DCCP_CCID3_RTO
|
||||
A value of 0 disables this feature by enforcing the value specified
|
||||
in RFC 3448. The following values have been suggested as bounds for
|
||||
experimental use:
|
||||
* 16-20ms to match the typical multimedia inter-frame interval
|
||||
* 100ms as a reasonable compromise [default]
|
||||
* 1000ms corresponds to the lower TCP RTO bound (RFC 2988, 2.4)
|
||||
* 16-20ms to match the typical multimedia inter-frame interval
|
||||
* 100ms as a reasonable compromise [default]
|
||||
* 1000ms corresponds to the lower TCP RTO bound (RFC 2988, 2.4)
|
||||
|
||||
The default of 100ms is a compromise between a large value for
|
||||
efficient DCCP implementations, and a small value to avoid disrupting
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/*
|
||||
* net/dccp/ccids/ccid2.c
|
||||
*
|
||||
* Copyright (c) 2005, 2006 Andrea Bittau <a.bittau@cs.ucl.ac.uk>
|
||||
*
|
||||
* Changes to meet Linux coding standards, and DCCP infrastructure fixes.
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/*
|
||||
* net/dccp/ccids/ccid2.h
|
||||
*
|
||||
* Copyright (c) 2005 Andrea Bittau <a.bittau@cs.ucl.ac.uk>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -40,14 +38,14 @@ struct ccid2_seq {
|
||||
#define CCID2_SEQBUF_LEN 1024
|
||||
#define CCID2_SEQBUF_MAX 128
|
||||
|
||||
/** struct ccid2_hc_tx_sock - CCID2 TX half connection
|
||||
*
|
||||
/**
|
||||
* struct ccid2_hc_tx_sock - CCID2 TX half connection
|
||||
* @ccid2hctx_{cwnd,ssthresh,pipe}: as per RFC 4341, section 5
|
||||
* @ccid2hctx_packets_acked - Ack counter for deriving cwnd growth (RFC 3465)
|
||||
* @ccid2hctx_lastrtt -time RTT was last measured
|
||||
* @ccid2hctx_rpseq - last consecutive seqno
|
||||
* @ccid2hctx_rpdupack - dupacks since rpseq
|
||||
*/
|
||||
*/
|
||||
struct ccid2_hc_tx_sock {
|
||||
u32 ccid2hctx_cwnd;
|
||||
u32 ccid2hctx_ssthresh;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/*
|
||||
* net/dccp/ccids/ccid3.c
|
||||
*
|
||||
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
|
||||
* Copyright (c) 2005-7 The University of Waikato, Hamilton, New Zealand.
|
||||
* Copyright (c) 2005-7 Ian McDonald <ian.mcdonald@jandi.co.nz>
|
||||
@@ -750,7 +748,8 @@ static int ccid3_hc_rx_insert_options(struct sock *sk, struct sk_buff *skb)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** ccid3_first_li - Implements [RFC 3448, 6.3.1]
|
||||
/**
|
||||
* ccid3_first_li - Implements [RFC 5348, 6.3.1]
|
||||
*
|
||||
* Determine the length of the first loss interval via inverse lookup.
|
||||
* Assume that X_recv can be computed by the throughput equation
|
||||
|
||||
+24
-26
@@ -1,6 +1,4 @@
|
||||
/*
|
||||
* net/dccp/ccids/ccid3.h
|
||||
*
|
||||
* Copyright (c) 2005-7 The University of Waikato, Hamilton, New Zealand.
|
||||
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
|
||||
*
|
||||
@@ -75,8 +73,8 @@ enum ccid3_hc_tx_states {
|
||||
TFRC_SSTATE_TERM,
|
||||
};
|
||||
|
||||
/** struct ccid3_hc_tx_sock - CCID3 sender half-connection socket
|
||||
*
|
||||
/**
|
||||
* struct ccid3_hc_tx_sock - CCID3 sender half-connection socket
|
||||
* @ccid3hctx_x - Current sending rate in 64 * bytes per second
|
||||
* @ccid3hctx_x_recv - Receive rate in 64 * bytes per second
|
||||
* @ccid3hctx_x_calc - Calculated rate in bytes per second
|
||||
@@ -119,9 +117,9 @@ struct ccid3_hc_tx_sock {
|
||||
|
||||
static inline struct ccid3_hc_tx_sock *ccid3_hc_tx_sk(const struct sock *sk)
|
||||
{
|
||||
struct ccid3_hc_tx_sock *hctx = ccid_priv(dccp_sk(sk)->dccps_hc_tx_ccid);
|
||||
BUG_ON(hctx == NULL);
|
||||
return hctx;
|
||||
struct ccid3_hc_tx_sock *hctx = ccid_priv(dccp_sk(sk)->dccps_hc_tx_ccid);
|
||||
BUG_ON(hctx == NULL);
|
||||
return hctx;
|
||||
}
|
||||
|
||||
/* TFRC receiver states */
|
||||
@@ -131,22 +129,22 @@ enum ccid3_hc_rx_states {
|
||||
TFRC_RSTATE_TERM = 127,
|
||||
};
|
||||
|
||||
/** struct ccid3_hc_rx_sock - CCID3 receiver half-connection socket
|
||||
*
|
||||
* @ccid3hcrx_x_recv - Receiver estimate of send rate (RFC 3448 4.3)
|
||||
* @ccid3hcrx_rtt - Receiver estimate of rtt (non-standard)
|
||||
* @ccid3hcrx_p - Current loss event rate (RFC 3448 5.4)
|
||||
* @ccid3hcrx_last_counter - Tracks window counter (RFC 4342, 8.1)
|
||||
* @ccid3hcrx_state - Receiver state, one of %ccid3_hc_rx_states
|
||||
* @ccid3hcrx_bytes_recv - Total sum of DCCP payload bytes
|
||||
* @ccid3hcrx_x_recv - Receiver estimate of send rate (RFC 3448, sec. 4.3)
|
||||
* @ccid3hcrx_rtt - Receiver estimate of RTT
|
||||
* @ccid3hcrx_tstamp_last_feedback - Time at which last feedback was sent
|
||||
* @ccid3hcrx_tstamp_last_ack - Time at which last feedback was sent
|
||||
* @ccid3hcrx_hist - Packet history (loss detection + RTT sampling)
|
||||
* @ccid3hcrx_li_hist - Loss Interval database
|
||||
* @ccid3hcrx_s - Received packet size in bytes
|
||||
* @ccid3hcrx_pinv - Inverse of Loss Event Rate (RFC 4342, sec. 8.5)
|
||||
/**
|
||||
* struct ccid3_hc_rx_sock - CCID3 receiver half-connection socket
|
||||
* @ccid3hcrx_x_recv - Receiver estimate of send rate (RFC 3448 4.3)
|
||||
* @ccid3hcrx_rtt - Receiver estimate of rtt (non-standard)
|
||||
* @ccid3hcrx_p - Current loss event rate (RFC 3448 5.4)
|
||||
* @ccid3hcrx_last_counter - Tracks window counter (RFC 4342, 8.1)
|
||||
* @ccid3hcrx_state - Receiver state, one of %ccid3_hc_rx_states
|
||||
* @ccid3hcrx_bytes_recv - Total sum of DCCP payload bytes
|
||||
* @ccid3hcrx_x_recv - Receiver estimate of send rate (RFC 3448, sec. 4.3)
|
||||
* @ccid3hcrx_rtt - Receiver estimate of RTT
|
||||
* @ccid3hcrx_tstamp_last_feedback - Time at which last feedback was sent
|
||||
* @ccid3hcrx_tstamp_last_ack - Time at which last feedback was sent
|
||||
* @ccid3hcrx_hist - Packet history (loss detection + RTT sampling)
|
||||
* @ccid3hcrx_li_hist - Loss Interval database
|
||||
* @ccid3hcrx_s - Received packet size in bytes
|
||||
* @ccid3hcrx_pinv - Inverse of Loss Event Rate (RFC 4342, sec. 8.5)
|
||||
*/
|
||||
struct ccid3_hc_rx_sock {
|
||||
u8 ccid3hcrx_last_counter:4;
|
||||
@@ -163,9 +161,9 @@ struct ccid3_hc_rx_sock {
|
||||
|
||||
static inline struct ccid3_hc_rx_sock *ccid3_hc_rx_sk(const struct sock *sk)
|
||||
{
|
||||
struct ccid3_hc_rx_sock *hcrx = ccid_priv(dccp_sk(sk)->dccps_hc_rx_ccid);
|
||||
BUG_ON(hcrx == NULL);
|
||||
return hcrx;
|
||||
struct ccid3_hc_rx_sock *hcrx = ccid_priv(dccp_sk(sk)->dccps_hc_rx_ccid);
|
||||
BUG_ON(hcrx == NULL);
|
||||
return hcrx;
|
||||
}
|
||||
|
||||
#endif /* _DCCP_CCID3_H_ */
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/*
|
||||
* net/dccp/ccids/lib/loss_interval.c
|
||||
*
|
||||
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
|
||||
* Copyright (c) 2005-7 The University of Waikato, Hamilton, New Zealand.
|
||||
* Copyright (c) 2005-7 Ian McDonald <ian.mcdonald@jandi.co.nz>
|
||||
@@ -21,7 +19,7 @@ static const int tfrc_lh_weights[NINTERVAL] = { 10, 10, 10, 10, 8, 6, 4, 2 };
|
||||
/* implements LIFO semantics on the array */
|
||||
static inline u8 LIH_INDEX(const u8 ctr)
|
||||
{
|
||||
return (LIH_SIZE - 1 - (ctr % LIH_SIZE));
|
||||
return LIH_SIZE - 1 - (ctr % LIH_SIZE);
|
||||
}
|
||||
|
||||
/* the `counter' index always points at the next entry to be populated */
|
||||
@@ -129,7 +127,8 @@ static inline u8 tfrc_lh_is_new_loss(struct tfrc_loss_interval *cur,
|
||||
(cur->li_is_closed || SUB16(new_loss->tfrchrx_ccval, cur->li_ccval) > 4);
|
||||
}
|
||||
|
||||
/** tfrc_lh_interval_add - Insert new record into the Loss Interval database
|
||||
/**
|
||||
* tfrc_lh_interval_add - Insert new record into the Loss Interval database
|
||||
* @lh: Loss Interval database
|
||||
* @rh: Receive history containing a fresh loss event
|
||||
* @calc_first_li: Caller-dependent routine to compute length of first interval
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef _DCCP_LI_HIST_
|
||||
#define _DCCP_LI_HIST_
|
||||
/*
|
||||
* net/dccp/ccids/lib/loss_interval.h
|
||||
*
|
||||
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
|
||||
* Copyright (c) 2005-7 The University of Waikato, Hamilton, New Zealand.
|
||||
* Copyright (c) 2005-7 Ian McDonald <ian.mcdonald@jandi.co.nz>
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/*
|
||||
* net/dccp/packet_history.c
|
||||
*
|
||||
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
|
||||
* Copyright (c) 2005-7 The University of Waikato, Hamilton, New Zealand.
|
||||
*
|
||||
@@ -128,7 +126,7 @@ u32 tfrc_tx_hist_rtt(struct tfrc_tx_hist_entry *head, const u64 seqno,
|
||||
|
||||
|
||||
/*
|
||||
* Receiver History Routines
|
||||
* Receiver History Routines
|
||||
*/
|
||||
static struct kmem_cache *tfrc_rx_hist_slab;
|
||||
|
||||
|
||||
@@ -70,7 +70,6 @@ struct tfrc_rx_hist_entry {
|
||||
|
||||
/**
|
||||
* tfrc_rx_hist - RX history structure for TFRC-based protocols
|
||||
*
|
||||
* @ring: Packet history for RTT sampling and loss detection
|
||||
* @loss_count: Number of entries in circular history
|
||||
* @loss_start: Movable index (for loss detection)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef _TFRC_H_
|
||||
#define _TFRC_H_
|
||||
/*
|
||||
* net/dccp/ccids/lib/tfrc.h
|
||||
*
|
||||
* Copyright (c) 2007 The University of Aberdeen, Scotland, UK
|
||||
* Copyright (c) 2005-6 The University of Waikato, Hamilton, New Zealand.
|
||||
* Copyright (c) 2005-6 Ian McDonald <ian.mcdonald@jandi.co.nz>
|
||||
@@ -32,7 +30,7 @@ extern int tfrc_debug;
|
||||
/* integer-arithmetic divisions of type (a * 1000000)/b */
|
||||
static inline u64 scaled_div(u64 a, u64 b)
|
||||
{
|
||||
BUG_ON(b==0);
|
||||
BUG_ON(b == 0);
|
||||
return div64_u64(a * 1000000, b);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/*
|
||||
* net/dccp/ccids/lib/tfrc_equation.c
|
||||
*
|
||||
* Copyright (c) 2005 The University of Waikato, Hamilton, New Zealand.
|
||||
* Copyright (c) 2005 Ian McDonald <ian.mcdonald@jandi.co.nz>
|
||||
* Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
||||
@@ -79,10 +77,10 @@
|
||||
}
|
||||
|
||||
With the given configuration, we have, with M = TFRC_CALC_X_ARRSIZE-1,
|
||||
lookup[0][0] = g(1000000/(M+1)) = 1000000 * f(0.2%)
|
||||
lookup[M][0] = g(1000000) = 1000000 * f(100%)
|
||||
lookup[0][1] = g(TFRC_SMALLEST_P) = 1000000 * f(0.01%)
|
||||
lookup[M][1] = g(TFRC_CALC_X_SPLIT) = 1000000 * f(5%)
|
||||
lookup[0][0] = g(1000000/(M+1)) = 1000000 * f(0.2%)
|
||||
lookup[M][0] = g(1000000) = 1000000 * f(100%)
|
||||
lookup[0][1] = g(TFRC_SMALLEST_P) = 1000000 * f(0.01%)
|
||||
lookup[M][1] = g(TFRC_CALC_X_SPLIT) = 1000000 * f(5%)
|
||||
|
||||
In summary, the two columns represent f(p) for the following ranges:
|
||||
* The first column is for 0.002 <= p <= 1.0
|
||||
@@ -610,11 +608,10 @@ static inline u32 tfrc_binsearch(u32 fval, u8 small)
|
||||
|
||||
/**
|
||||
* tfrc_calc_x - Calculate the send rate as per section 3.1 of RFC3448
|
||||
*
|
||||
* @s: packet size in bytes
|
||||
* @R: RTT scaled by 1000000 (i.e., microseconds)
|
||||
* @p: loss ratio estimate scaled by 1000000
|
||||
* Returns X_calc in bytes per second (not scaled).
|
||||
* @s: packet size in bytes
|
||||
* @R: RTT scaled by 1000000 (i.e., microseconds)
|
||||
* @p: loss ratio estimate scaled by 1000000
|
||||
* Returns X_calc in bytes per second (not scaled).
|
||||
*/
|
||||
u32 tfrc_calc_x(u16 s, u32 R, u32 p)
|
||||
{
|
||||
@@ -630,17 +627,17 @@ u32 tfrc_calc_x(u16 s, u32 R, u32 p)
|
||||
return ~0U;
|
||||
}
|
||||
|
||||
if (p <= TFRC_CALC_X_SPLIT) { /* 0.0000 < p <= 0.05 */
|
||||
if (p <= TFRC_CALC_X_SPLIT) { /* 0.0000 < p <= 0.05 */
|
||||
if (p < TFRC_SMALLEST_P) { /* 0.0000 < p < 0.0001 */
|
||||
DCCP_WARN("Value of p (%d) below resolution. "
|
||||
"Substituting %d\n", p, TFRC_SMALLEST_P);
|
||||
index = 0;
|
||||
} else /* 0.0001 <= p <= 0.05 */
|
||||
} else /* 0.0001 <= p <= 0.05 */
|
||||
index = p/TFRC_SMALLEST_P - 1;
|
||||
|
||||
f = tfrc_calc_x_lookup[index][1];
|
||||
|
||||
} else { /* 0.05 < p <= 1.00 */
|
||||
} else { /* 0.05 < p <= 1.00 */
|
||||
index = p/(1000000/TFRC_CALC_X_ARRSIZE) - 1;
|
||||
|
||||
f = tfrc_calc_x_lookup[index][0];
|
||||
@@ -661,7 +658,6 @@ u32 tfrc_calc_x(u16 s, u32 R, u32 p)
|
||||
|
||||
/**
|
||||
* tfrc_calc_x_reverse_lookup - try to find p given f(p)
|
||||
*
|
||||
* @fvalue: function value to match, scaled by 1000000
|
||||
* Returns closest match for p, also scaled by 1000000
|
||||
*/
|
||||
|
||||
+1
-1
@@ -948,7 +948,7 @@ static struct proto dccp_v4_prot = {
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct net_protocol dccp_v4_protocol = {
|
||||
static const struct net_protocol dccp_v4_protocol = {
|
||||
.handler = dccp_v4_rcv,
|
||||
.err_handler = dccp_v4_err,
|
||||
.no_policy = 1,
|
||||
|
||||
+2
-2
@@ -1152,13 +1152,13 @@ static struct proto dccp_v6_prot = {
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct inet6_protocol dccp_v6_protocol = {
|
||||
static const struct inet6_protocol dccp_v6_protocol = {
|
||||
.handler = dccp_v6_rcv,
|
||||
.err_handler = dccp_v6_err,
|
||||
.flags = INET6_PROTO_NOPOLICY | INET6_PROTO_FINAL,
|
||||
};
|
||||
|
||||
static struct proto_ops inet6_dccp_ops = {
|
||||
static const struct proto_ops inet6_dccp_ops = {
|
||||
.family = PF_INET6,
|
||||
.owner = THIS_MODULE,
|
||||
.release = inet6_release,
|
||||
|
||||
@@ -414,7 +414,7 @@ static int dgram_getsockopt(struct sock *sk, int level, int optname,
|
||||
}
|
||||
|
||||
static int dgram_setsockopt(struct sock *sk, int level, int optname,
|
||||
char __user *optval, int __user optlen)
|
||||
char __user *optval, int optlen)
|
||||
{
|
||||
struct dgram_sock *ro = dgram_sk(sk);
|
||||
int val;
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#include <net/ieee802154_netdev.h>
|
||||
|
||||
static unsigned int ieee802154_seq_num;
|
||||
static DEFINE_SPINLOCK(ieee802154_seq_lock);
|
||||
|
||||
static struct genl_family ieee802154_coordinator_family = {
|
||||
.id = GENL_ID_GENERATE,
|
||||
@@ -57,12 +58,15 @@ static struct sk_buff *ieee802154_nl_create(int flags, u8 req)
|
||||
{
|
||||
void *hdr;
|
||||
struct sk_buff *msg = nlmsg_new(NLMSG_GOODSIZE, GFP_ATOMIC);
|
||||
unsigned long f;
|
||||
|
||||
if (!msg)
|
||||
return NULL;
|
||||
|
||||
spin_lock_irqsave(&ieee802154_seq_lock, f);
|
||||
hdr = genlmsg_put(msg, 0, ieee802154_seq_num++,
|
||||
&ieee802154_coordinator_family, flags, req);
|
||||
spin_unlock_irqrestore(&ieee802154_seq_lock, f);
|
||||
if (!hdr) {
|
||||
nlmsg_free(msg);
|
||||
return NULL;
|
||||
|
||||
@@ -244,7 +244,7 @@ static int raw_getsockopt(struct sock *sk, int level, int optname,
|
||||
}
|
||||
|
||||
static int raw_setsockopt(struct sock *sk, int level, int optname,
|
||||
char __user *optval, int __user optlen)
|
||||
char __user *optval, int optlen)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
+9
-9
@@ -244,7 +244,7 @@ EXPORT_SYMBOL(build_ehash_secret);
|
||||
static inline int inet_netns_ok(struct net *net, int protocol)
|
||||
{
|
||||
int hash;
|
||||
struct net_protocol *ipprot;
|
||||
const struct net_protocol *ipprot;
|
||||
|
||||
if (net_eq(net, &init_net))
|
||||
return 1;
|
||||
@@ -1162,7 +1162,7 @@ EXPORT_SYMBOL(inet_sk_rebuild_header);
|
||||
static int inet_gso_send_check(struct sk_buff *skb)
|
||||
{
|
||||
struct iphdr *iph;
|
||||
struct net_protocol *ops;
|
||||
const struct net_protocol *ops;
|
||||
int proto;
|
||||
int ihl;
|
||||
int err = -EINVAL;
|
||||
@@ -1198,7 +1198,7 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb, int features)
|
||||
{
|
||||
struct sk_buff *segs = ERR_PTR(-EINVAL);
|
||||
struct iphdr *iph;
|
||||
struct net_protocol *ops;
|
||||
const struct net_protocol *ops;
|
||||
int proto;
|
||||
int ihl;
|
||||
int id;
|
||||
@@ -1265,7 +1265,7 @@ out:
|
||||
static struct sk_buff **inet_gro_receive(struct sk_buff **head,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
struct net_protocol *ops;
|
||||
const struct net_protocol *ops;
|
||||
struct sk_buff **pp = NULL;
|
||||
struct sk_buff *p;
|
||||
struct iphdr *iph;
|
||||
@@ -1342,7 +1342,7 @@ out:
|
||||
|
||||
static int inet_gro_complete(struct sk_buff *skb)
|
||||
{
|
||||
struct net_protocol *ops;
|
||||
const struct net_protocol *ops;
|
||||
struct iphdr *iph = ip_hdr(skb);
|
||||
int proto = iph->protocol & (MAX_INET_PROTOS - 1);
|
||||
int err = -ENOSYS;
|
||||
@@ -1427,13 +1427,13 @@ void snmp_mib_free(void *ptr[2])
|
||||
EXPORT_SYMBOL_GPL(snmp_mib_free);
|
||||
|
||||
#ifdef CONFIG_IP_MULTICAST
|
||||
static struct net_protocol igmp_protocol = {
|
||||
static const struct net_protocol igmp_protocol = {
|
||||
.handler = igmp_rcv,
|
||||
.netns_ok = 1,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct net_protocol tcp_protocol = {
|
||||
static const struct net_protocol tcp_protocol = {
|
||||
.handler = tcp_v4_rcv,
|
||||
.err_handler = tcp_v4_err,
|
||||
.gso_send_check = tcp_v4_gso_send_check,
|
||||
@@ -1444,7 +1444,7 @@ static struct net_protocol tcp_protocol = {
|
||||
.netns_ok = 1,
|
||||
};
|
||||
|
||||
static struct net_protocol udp_protocol = {
|
||||
static const struct net_protocol udp_protocol = {
|
||||
.handler = udp_rcv,
|
||||
.err_handler = udp_err,
|
||||
.gso_send_check = udp4_ufo_send_check,
|
||||
@@ -1453,7 +1453,7 @@ static struct net_protocol udp_protocol = {
|
||||
.netns_ok = 1,
|
||||
};
|
||||
|
||||
static struct net_protocol icmp_protocol = {
|
||||
static const struct net_protocol icmp_protocol = {
|
||||
.handler = icmp_rcv,
|
||||
.no_policy = 1,
|
||||
.netns_ok = 1,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user