There is no more space in u8 ifa_flags. So do what davem suffested and add another netlink attr called IFA_FLAGS for carry more flags.
Showing the changes to include/uapi/linux (1 of 4 files). Show all
Unified · Split
| @@ -18,6 +18,9 @@ struct ifaddrmsg { · 17 unmodified lines | |||
| 18 | * It makes no difference for normally configured broadcast interfaces, | 18 | * It makes no difference for normally configured broadcast interfaces, |
| 19 | * but for point-to-point IFA_ADDRESS is DESTINATION address, | 19 | * but for point-to-point IFA_ADDRESS is DESTINATION address, |
| 20 | * local address is supplied in IFA_LOCAL attribute. | 20 | * local address is supplied in IFA_LOCAL attribute. |
| 21 | * | ||
| 22 | * IFA_FLAGS is a u32 attribute that extends the u8 field ifa_flags. | ||
| 23 | * If present, the value from struct ifaddrmsg will be ignored. | ||
| 21 | */ | 24 | */ |
| 22 | enum { | 25 | enum { |
| 23 | IFA_UNSPEC, | 26 | IFA_UNSPEC, |
| @@ -28,6 +31,7 @@ enum { · 4 unmodified lines | |||
| 28 | IFA_ANYCAST, | 31 | IFA_ANYCAST, |
| 29 | IFA_CACHEINFO, | 32 | IFA_CACHEINFO, |
| 30 | IFA_MULTICAST, | 33 | IFA_MULTICAST, |
| 34 | IFA_FLAGS, | ||
| 31 | __IFA_MAX, | 35 | __IFA_MAX, |
| 32 | }; | 36 | }; |
| 33 | 37 | ||