>
>On 09/08/2016 09:08, "Thadeu Lima de Souza Cascardo" <casca...@redhat.com> 
>wrote:
>
>>On Tue, Aug 09, 2016 at 05:01:14PM +0100, Mark Kavanagh wrote:
>>> From: Daniele Di Proietto <diproiet...@vmware.com>
>>>
>>> Interfaces with type "internal" end up having a netdev with type "tap"
>>> in the dpif-netdev datapath, so a strcmp will fail to match internal
>>> interfaces.
>>>
>>> We can translate the types with ofproto_port_open_type() before calling
>>> strcmp to fix this.
>>>
>>> This fixes a minor issue where internal interfaces are considered
>>> non-internal in the userspace datapath for the purpose of adjusting the
>>> MTU.
>>>
>>> Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com>
>>
>>Acked-by: Thadeu Lima de Souza Cascardo <casca...@redhat.com>
>
>Thanks guys, I pushed this to master
>
>>
>>Hi, Mark.
>>
>>Can you keep my Ack in further submissions in case there are no changes to 
>>this
>>patch?


Hi Cascardo,

Apologies - I performed the rework for the entire series on my local branch, so 
your Ack wasn't present.

Thanks to Daniele for re-adding it.

Cheers,
Mark

>>
>>Thanks.
>>Cascardo.
>>
>>> ---
>>>  ofproto/ofproto.c | 16 +++++++++-------
>>>  1 file changed, 9 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
>>> index 8e59c69..088f91a 100644
>>> --- a/ofproto/ofproto.c
>>> +++ b/ofproto/ofproto.c
>>> @@ -220,7 +220,8 @@ static void learned_cookies_flush(struct ofproto *, 
>>> struct ovs_list
>*dead_cookie
>>>  /* ofport. */
>>>  static void ofport_destroy__(struct ofport *) OVS_EXCLUDED(ofproto_mutex);
>>>  static void ofport_destroy(struct ofport *, bool del);
>>> -static inline bool ofport_is_internal(const struct ofport *);
>>> +static inline bool ofport_is_internal(const struct ofproto *,
>>> +                                      const struct ofport *);
>>>
>>>  static int update_port(struct ofproto *, const char *devname);
>>>  static int init_ports(struct ofproto *);
>>> @@ -2465,7 +2466,7 @@ static void
>>>  ofport_remove(struct ofport *ofport)
>>>  {
>>>      struct ofproto *p = ofport->ofproto;
>>> -    bool is_internal = ofport_is_internal(ofport);
>>> +    bool is_internal = ofport_is_internal(p, ofport);
>>>
>>>      connmgr_send_port_status(ofport->ofproto->connmgr, NULL, &ofport->pp,
>>>                               OFPPR_DELETE);
>>> @@ -2751,9 +2752,10 @@ init_ports(struct ofproto *p)
>>>  }
>>>
>>>  static inline bool
>>> -ofport_is_internal(const struct ofport *port)
>>> +ofport_is_internal(const struct ofproto *p, const struct ofport *port)
>>>  {
>>> -    return !strcmp(netdev_get_type(port->netdev), "internal");
>>> +    return !strcmp(netdev_get_type(port->netdev),
>>> +                   ofproto_port_open_type(p->type, "internal"));
>>>  }
>>>
>>>  /* Find the minimum MTU of all non-datapath devices attached to 'p'.
>>> @@ -2770,7 +2772,7 @@ find_min_mtu(struct ofproto *p)
>>>
>>>          /* Skip any internal ports, since that's what we're trying to
>>>           * set. */
>>> -        if (ofport_is_internal(ofport)) {
>>> +        if (ofport_is_internal(p, ofport)) {
>>>              continue;
>>>          }
>>>
>>> @@ -2797,7 +2799,7 @@ update_mtu(struct ofproto *p, struct ofport *port)
>>>          port->mtu = 0;
>>>          return;
>>>      }
>>> -    if (ofport_is_internal(port)) {
>>> +    if (ofport_is_internal(p, port)) {
>>>          if (dev_mtu > p->min_mtu) {
>>>             if (!netdev_set_mtu(port->netdev, p->min_mtu)) {
>>>                 dev_mtu = p->min_mtu;
>>> @@ -2827,7 +2829,7 @@ update_mtu_ofproto(struct ofproto *p)
>>>      HMAP_FOR_EACH (ofport, hmap_node, &p->ports) {
>>>          struct netdev *netdev = ofport->netdev;
>>>
>>> -        if (ofport_is_internal(ofport)) {
>>> +        if (ofport_is_internal(p, ofport)) {
>>>              if (!netdev_set_mtu(netdev, p->min_mtu)) {
>>>                  ofport->mtu = p->min_mtu;
>>>              }
>>> --
>>> 1.9.3
>>>
>>> _______________________________________________
>>> dev mailing list
>>> dev@openvswitch.org
>>> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to