Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
Pablo Neira Ayuso says: ==================== Netfilter/IPVS fixes for net The following patchset contains Netfilter/IPVS fixes for your net tree, they are: 1) Maintain all DSCP and ECN bits for IPv6 tun forwarding. This resolves an inconsistency between IPv4 and IPv6 behaviour. Patch from Alex Gartrell via Simon Horman. 2) Fix unnoticeable blink in xt_LED when the led-always-blink option is used, from Jiri Prchal. 3) Add missing return in nft_del_setelem(), otherwise this results in a double call of nft_data_uninit() in the nf_tables code, from Thomas Graf. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
ae8694fa8a
|
@ -967,8 +967,8 @@ ip_vs_tunnel_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
|||
iph->nexthdr = IPPROTO_IPV6;
|
||||
iph->payload_len = old_iph->payload_len;
|
||||
be16_add_cpu(&iph->payload_len, sizeof(*old_iph));
|
||||
iph->priority = old_iph->priority;
|
||||
memset(&iph->flow_lbl, 0, sizeof(iph->flow_lbl));
|
||||
ipv6_change_dsfield(iph, 0, ipv6_get_dsfield(old_iph));
|
||||
iph->daddr = cp->daddr.in6;
|
||||
iph->saddr = saddr;
|
||||
iph->hop_limit = old_iph->hop_limit;
|
||||
|
|
|
@ -3218,6 +3218,7 @@ static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set,
|
|||
if (set->flags & NFT_SET_MAP)
|
||||
nft_data_uninit(&elem.data, set->dtype);
|
||||
|
||||
return 0;
|
||||
err2:
|
||||
nft_data_uninit(&elem.key, desc.type);
|
||||
err1:
|
||||
|
|
|
@ -50,11 +50,14 @@ struct xt_led_info_internal {
|
|||
struct timer_list timer;
|
||||
};
|
||||
|
||||
#define XT_LED_BLINK_DELAY 50 /* ms */
|
||||
|
||||
static unsigned int
|
||||
led_tg(struct sk_buff *skb, const struct xt_action_param *par)
|
||||
{
|
||||
const struct xt_led_info *ledinfo = par->targinfo;
|
||||
struct xt_led_info_internal *ledinternal = ledinfo->internal_data;
|
||||
unsigned long led_delay = XT_LED_BLINK_DELAY;
|
||||
|
||||
/*
|
||||
* If "always blink" is enabled, and there's still some time until the
|
||||
|
@ -62,9 +65,10 @@ led_tg(struct sk_buff *skb, const struct xt_action_param *par)
|
|||
*/
|
||||
if ((ledinfo->delay > 0) && ledinfo->always_blink &&
|
||||
timer_pending(&ledinternal->timer))
|
||||
led_trigger_event(&ledinternal->netfilter_led_trigger, LED_OFF);
|
||||
|
||||
led_trigger_event(&ledinternal->netfilter_led_trigger, LED_FULL);
|
||||
led_trigger_blink_oneshot(&ledinternal->netfilter_led_trigger,
|
||||
&led_delay, &led_delay, 1);
|
||||
else
|
||||
led_trigger_event(&ledinternal->netfilter_led_trigger, LED_FULL);
|
||||
|
||||
/* If there's a positive delay, start/update the timer */
|
||||
if (ledinfo->delay > 0) {
|
||||
|
|
Loading…
Reference in New Issue