author | Brian Utterback <brian.utterback@oracle.com> |
Fri, 03 Mar 2017 10:53:19 -0800 | |
branch | s11u3-sru |
changeset 7930 | 23b55980914d |
permissions | -rw-r--r-- |
7930
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
1 |
This fix is from work in progress by the Quagga community Solaris maintainer. |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
2 |
It does not have a specific bug but will eventually be incorporated in the |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
3 |
main branch. |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
4 |
|
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
5 |
*** lib/if.c |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
6 |
--- lib/if.c |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
7 |
*************** if_is_running (struct interface *ifp) |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
8 |
*** 341,346 **** |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
9 |
--- 341,361 ---- |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
10 |
int |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
11 |
if_is_operative (struct interface *ifp) |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
12 |
{ |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
13 |
+ #ifdef SUNOS_5 |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
14 |
+ /* Administrators on Solaris can set IFF_NORTEXCH on interfaces to |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
15 |
+ * indicate they should not be touched by routing protocols. This can be |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
16 |
+ * configured with, e.g. |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
17 |
+ * |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
18 |
+ * ipadm set-ifprop -p exchange_route=off |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
19 |
+ * |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
20 |
+ * Honour this by simply considering IFF_NORTEXCH interfaces as |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
21 |
+ * inoperative for general purposes of Quagga code. zebra will withdraw |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
22 |
+ * interface/addresses that go IFF_NORTEXCH from Quagga clients. |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
23 |
+ */ |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
24 |
+ if (ifp->flags & IFF_NORTEXCH) |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
25 |
+ return 0; |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
26 |
+ #endif /* SUNOS_5 */ |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
27 |
+ |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
28 |
return ((ifp->flags & IFF_UP) && |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
29 |
(ifp->flags & IFF_RUNNING || !CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_LINKDETECTION))); |
23b55980914d
17883152 Need to control if network interface will be visible from Quagga or not.
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
30 |
} |