Hangbin Liu
2017-06-06 10:22:28 UTC
Hi Richard,
Now more and more customers are asking for linuxptp bond/team fail over support.
I have a draft plan to implement this feature. Would you like to help review it
to see if it's OK or not?
Here are the brief descriptions.
1. add slave info in struct interface, something like
struct interface {
STAILQ_ENTRY(interface) list;
char name[MAX_IFNAME_SIZE + 1];
char slave[MAX_IFNAME_SIZE + 1];
int index;
int slave_index;
int linkup;
int slave_changed;
struct sk_ts_info ts_info;
};
2. get current interface's active slave via netlink message when
config_create_interface()
3. set clock's PHC index to active slave's PHC index when clock_create()
4. when bond/team fail over, get new active slave index
5. update clock phc info via clock_switch_phc(), update port status
via port_dispatch()
6. Use automatic mode in phc2sys to automatically sync correct PHC.
Limits and unresolved issues:
1. Only support bond/team active-backup
2. Only works with phc2sys automatic mode. But how about manual
config? -s bond0?
3. What about vlan?
4. What if new active slave do not support required timestamp flags.
Just report fail?
Thanks
Hangbin
Now more and more customers are asking for linuxptp bond/team fail over support.
I have a draft plan to implement this feature. Would you like to help review it
to see if it's OK or not?
Here are the brief descriptions.
1. add slave info in struct interface, something like
struct interface {
STAILQ_ENTRY(interface) list;
char name[MAX_IFNAME_SIZE + 1];
char slave[MAX_IFNAME_SIZE + 1];
int index;
int slave_index;
int linkup;
int slave_changed;
struct sk_ts_info ts_info;
};
2. get current interface's active slave via netlink message when
config_create_interface()
3. set clock's PHC index to active slave's PHC index when clock_create()
4. when bond/team fail over, get new active slave index
5. update clock phc info via clock_switch_phc(), update port status
via port_dispatch()
6. Use automatic mode in phc2sys to automatically sync correct PHC.
Limits and unresolved issues:
1. Only support bond/team active-backup
2. Only works with phc2sys automatic mode. But how about manual
config? -s bond0?
3. What about vlan?
4. What if new active slave do not support required timestamp flags.
Just report fail?
Thanks
Hangbin