Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch
Conflicts: net/ipv6/exthdrs_core.c Jesse Gross says: ==================== This series of improvements for 3.8/net-next contains four components: * Support for modifying IPv6 headers * Support for matching and setting skb->mark for better integration with things like iptables * Ability to recognize the EtherType for RARP packets * Two small performance enhancements The movement of ipv6_find_hdr() into exthdrs_core.c causes two small merge conflicts. I left it as is but can do the merge if you want. The conflicts are: * ipv6_find_hdr() and ipv6_find_tlv() were both moved to the bottom of exthdrs_core.c. Both should stay. * A new use of ipv6_find_hdr() was added to net/netfilter/ipvs/ip_vs_core.c after this patch. The IPVS user has two instances of the old constant name IP6T_FH_F_FRAG which has been renamed to IP6_FH_F_FRAG. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -942,7 +942,7 @@ static int ip_vs_out_icmp_v6(struct sk_buff *skb, int *related,
|
||||
/* Fragment header that is before ICMP header tells us that:
|
||||
* it's not an error message since they can't be fragmented.
|
||||
*/
|
||||
if (ipvsh->flags & IP6T_FH_F_FRAG)
|
||||
if (ipvsh->flags & IP6_FH_F_FRAG)
|
||||
return NF_DROP;
|
||||
|
||||
IP_VS_DBG(8, "Outgoing ICMPv6 (%d,%d) %pI6c->%pI6c\n",
|
||||
@@ -1475,7 +1475,7 @@ static int ip_vs_in_icmp_v6(struct sk_buff *skb, int *related,
|
||||
/* Fragment header that is before ICMP header tells us that:
|
||||
* it's not an error message since they can't be fragmented.
|
||||
*/
|
||||
if (iph->flags & IP6T_FH_F_FRAG)
|
||||
if (iph->flags & IP6_FH_F_FRAG)
|
||||
return NF_DROP;
|
||||
|
||||
IP_VS_DBG(8, "Incoming ICMPv6 (%d,%d) %pI6c->%pI6c\n",
|
||||
|
||||
@@ -167,7 +167,7 @@ hmark_pkt_set_htuple_ipv6(const struct sk_buff *skb, struct hmark_tuple *t,
|
||||
const struct xt_hmark_info *info)
|
||||
{
|
||||
struct ipv6hdr *ip6, _ip6;
|
||||
int flag = IP6T_FH_F_AUTH;
|
||||
int flag = IP6_FH_F_AUTH;
|
||||
unsigned int nhoff = 0;
|
||||
u16 fragoff = 0;
|
||||
int nexthdr;
|
||||
@@ -177,7 +177,7 @@ hmark_pkt_set_htuple_ipv6(const struct sk_buff *skb, struct hmark_tuple *t,
|
||||
if (nexthdr < 0)
|
||||
return 0;
|
||||
/* No need to check for icmp errors on fragments */
|
||||
if ((flag & IP6T_FH_F_FRAG) || (nexthdr != IPPROTO_ICMPV6))
|
||||
if ((flag & IP6_FH_F_FRAG) || (nexthdr != IPPROTO_ICMPV6))
|
||||
goto noicmp;
|
||||
/* Use inner header in case of ICMP errors */
|
||||
if (get_inner6_hdr(skb, &nhoff)) {
|
||||
@@ -185,7 +185,7 @@ hmark_pkt_set_htuple_ipv6(const struct sk_buff *skb, struct hmark_tuple *t,
|
||||
if (ip6 == NULL)
|
||||
return -1;
|
||||
/* If AH present, use SPI like in ESP. */
|
||||
flag = IP6T_FH_F_AUTH;
|
||||
flag = IP6_FH_F_AUTH;
|
||||
nexthdr = ipv6_find_hdr(skb, &nhoff, -1, &fragoff, &flag);
|
||||
if (nexthdr < 0)
|
||||
return -1;
|
||||
@@ -201,7 +201,7 @@ noicmp:
|
||||
if (t->proto == IPPROTO_ICMPV6)
|
||||
return 0;
|
||||
|
||||
if (flag & IP6T_FH_F_FRAG)
|
||||
if (flag & IP6_FH_F_FRAG)
|
||||
return 0;
|
||||
|
||||
hmark_set_tuple_ports(skb, nhoff, t, info);
|
||||
|
||||
Reference in New Issue
Block a user