Sun, Aug 24, 2014 at 01:46:05PM CEST, tg...@suug.ch wrote: >On 08/21/14 at 06:18pm, Jiri Pirko wrote: >> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h >> index 39294b9..8b5d14c 100644 >> --- a/include/linux/netdevice.h >> +++ b/include/linux/netdevice.h >> @@ -49,6 +49,8 @@ >> >> #include <linux/netdev_features.h> >> #include <linux/neighbour.h> >> +#include <linux/sw_flow.h> >> + >> #include <uapi/linux/netdevice.h> >> >> struct netpoll_info; >> @@ -997,6 +999,24 @@ typedef u16 (*select_queue_fallback_t)(struct >> net_device *dev, >> + * int (*ndo_swdev_flow_insert)(struct net_device *dev, >> + * const struct sw_flow *flow); >> + * Called to insert a flow into switch device. If driver does >> + * not implement this, it is assumed that the hw does not have >> + * a capability to work with flows. > >I asume you are planning to add an additional expandable struct >paramter to handle insertion parameters when the first is introduced >to avoid requiring to touch every driver every time.
Sure. That is the way to go. > >> +/** >> + * swdev_flow_insert - Insert a flow into switch >> + * @dev: port device >> + * @flow: flow descriptor >> + * >> + * Insert a flow into switch this port is part of. >> + */ >> +int swdev_flow_insert(struct net_device *dev, const struct sw_flow *flow) >> +{ >> + const struct net_device_ops *ops = dev->netdev_ops; >> + >> + print_flow(flow, dev, "insert"); >> + if (!ops->ndo_swdev_flow_insert) >> + return -EOPNOTSUPP; >> + WARN_ON(!ops->ndo_swdev_get_id); >> + BUG_ON(!flow->actions); >> + return ops->ndo_swdev_flow_insert(dev, flow); >> +} >> +EXPORT_SYMBOL(swdev_flow_insert); > >Splitting the flow specific API into a separate file (maybe >swdev_flow.c?) might help resolve some of the concerns around the >focus on flows. It would make it clear that it's one of multiple >models to be supported. I understand your point. But the file is tiny as it is. I would keep all in one file for now. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev