X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=inline;f=datapath%2Fvport.c;h=7f12acccba44deab0c1950287c685c934b673361;hb=4b0424809b823101c969a0691fc1db0c880ae64a;hp=93ab2b5f78c4bcfb9526f46c88822e225ffc5058;hpb=c68cc3ef3fa0ee3ade3c86035e5c3d7eb066a605;p=sliver-openvswitch.git diff --git a/datapath/vport.c b/datapath/vport.c index 93ab2b5f7..7f12acccb 100644 --- a/datapath/vport.c +++ b/datapath/vport.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -34,17 +35,20 @@ #include "vport.h" #include "vport-internal_dev.h" +static void ovs_vport_record_error(struct vport *, + enum vport_err_type err_type); + /* List of statically compiled vport implementations. Don't forget to also * add yours to the list at the bottom of vport.h. */ static const struct vport_ops *vport_ops_list[] = { &ovs_netdev_vport_ops, &ovs_internal_vport_ops, +#if IS_ENABLED(CONFIG_NET_IPGRE_DEMUX) &ovs_gre_vport_ops, &ovs_gre64_vport_ops, -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) +#endif &ovs_vxlan_vport_ops, &ovs_lisp_vport_ops, -#endif }; /* Protected by RCU read lock for reading, ovs_mutex for writing. */ @@ -203,7 +207,7 @@ out: * ovs_vport_set_options - modify existing vport device (for kernel callers) * * @vport: vport to modify. - * @port: New configuration. + * @options: New configuration. * * Modifies an existing device with the specified configuration (which is * dependent on device type). ovs_mutex must be held. @@ -238,7 +242,7 @@ void ovs_vport_del(struct vport *vport) * @stats: stats to set * * Provides a set of transmit, receive, and error stats to be added as an - * offset to the collect data when stats are retreived. Some devices may not + * offset to the collected data when stats are retrieved. Some devices may not * support setting the stats, in which case the result will always be * -EOPNOTSUPP. * @@ -349,6 +353,7 @@ int ovs_vport_get_options(const struct vport *vport, struct sk_buff *skb) * * @vport: vport that received the packet * @skb: skb that was received + * @tun_key: tunnel (if any) that carried packet * * Must be called with rcu_read_lock. The packet cannot be shared and * skb->data should point to the Ethernet header. The caller must have already @@ -382,7 +387,7 @@ int ovs_vport_send(struct vport *vport, struct sk_buff *skb) { int sent = vport->ops->send(vport, skb); - if (likely(sent)) { + if (likely(sent > 0)) { struct pcpu_tstats *stats; stats = this_cpu_ptr(vport->percpu_stats); @@ -407,9 +412,10 @@ int ovs_vport_send(struct vport *vport, struct sk_buff *skb) * @err_type: one of enum vport_err_type types to indicate the error type * * If using the vport generic stats layer indicate that an error of the given - * type has occured. + * type has occurred. */ -void ovs_vport_record_error(struct vport *vport, enum vport_err_type err_type) +static void ovs_vport_record_error(struct vport *vport, + enum vport_err_type err_type) { spin_lock(&vport->stats_lock);