typedef struct tunnel_ops {
const char *name; /* Name of this tunnel driver */
void (*init)(void); /* Initializes the system */
- tunnel *(*create)(struct peer */*p*/); /* Initializes a new tunnel */
- const char *(*ifname)(tunnel */*t*/); /* Returns tunnel's interface name */
+ tunnel *(*create)(struct peer */*p*/, char **/*ifn*/);
+ /* Initializes a new tunnel */
+ void (*setifname)(tunnel */*t*/, const char */*ifn*/);
+ /* Notifies ifname change */
void (*inject)(tunnel */*t*/, buf */*b*/); /* Sends packet through if */
void (*destroy)(tunnel */*t*/); /* Destroys a tunnel */
} tunnel_ops;