X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fnetdev-provider.h;h=6f22356382c7f42707d206d66b579d2562d13727;hb=1e827902be9194d71ea851c9ce2676f65eeed33a;hp=1dcc1f45f7a9ea4618f67bba223e04c07615708e;hpb=bfd3367b9e7426ffc931c9b0d010d8b1b5884ec2;p=sliver-openvswitch.git diff --git a/lib/netdev-provider.h b/lib/netdev-provider.h index 1dcc1f45f..6f2235638 100644 --- a/lib/netdev-provider.h +++ b/lib/netdev-provider.h @@ -643,6 +643,16 @@ struct netdev_class { * Must return EMSGSIZE, and discard the packet, if the received packet * is longer than 'ofpbuf_tailroom(buffer)'. * + * Implementations may make use of VLAN_HEADER_LEN bytes of tailroom to + * add a VLAN header which is obtained out-of-band to the packet. If + * this occurs then VLAN_HEADER_LEN bytes of tailroom will no longer be + * available for the packet, otherwise it may be used for the packet + * itself. + * + * It is advised that the tailroom of 'buffer' should be + * VLAN_HEADER_LEN bytes longer than the MTU to allow space for an + * out-of-band VLAN header to be added to the packet. + * * This function may be set to null if it would always return EOPNOTSUPP * anyhow. */ int (*rx_recv)(struct netdev_rx *rx, struct ofpbuf *buffer); @@ -666,6 +676,9 @@ extern const struct netdev_class netdev_tap_class; extern const struct netdev_class netdev_bsd_class; #endif +extern const struct netdev_class netdev_tunnel_class; +extern const struct netdev_class netdev_pltap_class; + #ifdef __cplusplus } #endif