X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fvport-gre.c;h=cc64d1299a4634cce1ef8e30fce99fa3e9edec18;hb=4cb3fde7c9224ca4f939852c5e7987fc5112d680;hp=24c53f89680d4b46ee85f180fe8d197e692b3c88;hpb=df2c07f4338faac04f4969f243fe4e8083b309ac;p=openvswitch diff --git a/datapath/vport-gre.c b/datapath/vport-gre.c index 24c53f89..cc64d129 100644 --- a/datapath/vport-gre.c +++ b/datapath/vport-gre.c @@ -193,8 +193,8 @@ static void gre_err(struct sk_buff *skb, u32 info) if (tunnel_hdr_len < 0) return; - vport = tnl_find_port(iph->saddr, iph->daddr, key, - TNL_T_PROTO_GRE | TNL_T_KEY_EITHER, &mutable); + vport = tnl_find_port(iph->saddr, iph->daddr, key, TNL_T_PROTO_GRE, + &mutable); if (!vport) return; @@ -207,7 +207,7 @@ static void gre_err(struct sk_buff *skb, u32 info) * out key as if it were the in key and then check to see if the input * and output keys are the same. */ - if (mutable->in_key != mutable->out_key) + if (mutable->key.in_key != mutable->out_key) return; if (!!(mutable->flags & TNL_F_IN_KEY_MATCH) != @@ -330,8 +330,8 @@ static int gre_rcv(struct sk_buff *skb) goto error; iph = ip_hdr(skb); - vport = tnl_find_port(iph->daddr, iph->saddr, key, - TNL_T_PROTO_GRE | TNL_T_KEY_EITHER, &mutable); + vport = tnl_find_port(iph->daddr, iph->saddr, key, TNL_T_PROTO_GRE, + &mutable); if (unlikely(!vport)) { icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0); goto error; @@ -389,7 +389,7 @@ static void gre_exit(void) const struct vport_ops gre_vport_ops = { .type = OVS_VPORT_TYPE_GRE, - .flags = VPORT_F_GEN_STATS | VPORT_F_TUN_ID, + .flags = VPORT_F_TUN_ID, .init = gre_init, .exit = gre_exit, .create = gre_create,