mirror of https://gitee.com/openkylin/linux.git
sched: remove NET_XMIT_POLICED
sch_atm returns this when TC_ACT_SHOT classification occurs. But all other schedulers that use tc_classify (htb, hfsc, drr, fq_codel ...) return NET_XMIT_SUCCESS | __BYPASS in this case so just do that in atm. BATMAN uses it as an intermediate return value to signal forwarding vs. buffering, but it did not return POLICED to callers outside of BATMAN. Reviewed-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
eb37c56361
commit
99860208bc
|
@ -90,7 +90,6 @@ void netdev_set_default_ethtool_ops(struct net_device *dev,
|
|||
#define NET_XMIT_SUCCESS 0x00
|
||||
#define NET_XMIT_DROP 0x01 /* skb dropped */
|
||||
#define NET_XMIT_CN 0x02 /* congestion notification */
|
||||
#define NET_XMIT_POLICED 0x03 /* skb is shot by police */
|
||||
#define NET_XMIT_MASK 0x0f /* qdisc flags in net/sch_generic.h */
|
||||
|
||||
/* NET_XMIT_CN is special. It does not guarantee that this packet is lost. It
|
||||
|
|
|
@ -653,7 +653,7 @@ static int batadv_route_unicast_packet(struct sk_buff *skb,
|
|||
len + ETH_HLEN);
|
||||
|
||||
ret = NET_RX_SUCCESS;
|
||||
} else if (res == NET_XMIT_POLICED) {
|
||||
} else if (res == -EINPROGRESS) {
|
||||
/* skb was buffered and consumed */
|
||||
ret = NET_RX_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -156,7 +156,7 @@ int batadv_send_unicast_skb(struct sk_buff *skb,
|
|||
* attempted.
|
||||
*
|
||||
* Return: NET_XMIT_SUCCESS on success, NET_XMIT_DROP on failure, or
|
||||
* NET_XMIT_POLICED if the skb is buffered for later transmit.
|
||||
* -EINPROGRESS if the skb is buffered for later transmit.
|
||||
*/
|
||||
int batadv_send_skb_to_orig(struct sk_buff *skb,
|
||||
struct batadv_orig_node *orig_node,
|
||||
|
@ -188,7 +188,7 @@ int batadv_send_skb_to_orig(struct sk_buff *skb,
|
|||
* network coding fails, then send the packet as usual.
|
||||
*/
|
||||
if (recv_if && batadv_nc_skb_forward(skb, neigh_node)) {
|
||||
ret = NET_XMIT_POLICED;
|
||||
ret = -EINPROGRESS;
|
||||
} else {
|
||||
batadv_send_unicast_skb(skb, neigh_node);
|
||||
ret = NET_XMIT_SUCCESS;
|
||||
|
|
|
@ -3463,7 +3463,6 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev)
|
|||
break;
|
||||
case NET_XMIT_DROP:
|
||||
case NET_XMIT_CN:
|
||||
case NET_XMIT_POLICED:
|
||||
/* skb has been consumed */
|
||||
pkt_dev->errors++;
|
||||
break;
|
||||
|
|
|
@ -95,8 +95,6 @@ static int tclass_notify(struct net *net, struct sk_buff *oskb,
|
|||
Expected action: do not backoff, but wait until queue will clear.
|
||||
NET_XMIT_CN - probably this packet enqueued, but another one dropped.
|
||||
Expected action: backoff or ignore
|
||||
NET_XMIT_POLICED - dropped by police.
|
||||
Expected action: backoff or error to real-time apps.
|
||||
|
||||
Auxiliary routines:
|
||||
|
||||
|
|
|
@ -363,7 +363,7 @@ static int atm_tc_enqueue(struct sk_buff *skb, struct Qdisc *sch)
|
|||
struct atm_flow_data *flow;
|
||||
struct tcf_result res;
|
||||
int result;
|
||||
int ret = NET_XMIT_POLICED;
|
||||
int ret = NET_XMIT_SUCCESS | __NET_XMIT_BYPASS;
|
||||
|
||||
pr_debug("atm_tc_enqueue(skb %p,sch %p,[qdisc %p])\n", skb, sch, p);
|
||||
result = TC_POLICE_OK; /* be nice to gcc */
|
||||
|
|
Loading…
Reference in New Issue