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 | 18 | * It makes no difference for normally configured broadcast interfaces, |
| 19 | 19 | * but for point-to-point IFA_ADDRESS is DESTINATION address, |
| 20 | 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 | 25 | enum { |
| 23 | 26 | IFA_UNSPEC, |
| @@ -28,6 +31,7 @@ enum { · 4 unmodified lines | ||
| 28 | 31 | IFA_ANYCAST, |
| 29 | 32 | IFA_CACHEINFO, |
| 30 | 33 | IFA_MULTICAST, |
| 34 | + IFA_FLAGS, | |
| 31 | 35 | __IFA_MAX, |
| 32 | 36 | }; |
| 33 | 37 | |