diff --git a/web/src/components/netflow-traffic.tsx b/web/src/components/netflow-traffic.tsx index 81f071533..c707752bf 100644 --- a/web/src/components/netflow-traffic.tsx +++ b/web/src/components/netflow-traffic.tsx @@ -136,6 +136,10 @@ export const NetflowTraffic: React.FC = ({ return model.config.features.includes('networkEvents'); }, [model.config.features]); + const isIPSec = React.useCallback(() => { + return model.config.features.includes('ipsec'); + }, [model.config.features]); + const isPromOnly = React.useCallback(() => { return !allowLoki() || model.dataSource === 'prom'; }, [allowLoki, model.dataSource]); @@ -226,7 +230,8 @@ export const NetflowTraffic: React.FC = ({ (isUdn() || fd.id !== 'udns') && (isPktXlat() || !fd.id.startsWith('xlat_')) && (isNetEvents() || fd.id !== 'network_events') && - (!isPromOnly() || checkFilterAvailable(fd, model.config.promLabels)) + (!isPromOnly() || checkFilterAvailable(fd, model.config.promLabels)) && + (isIPSec() || !fd.id.startsWith('ipsec_')) ); // eslint-disable-next-line react-hooks/exhaustive-deps }, [model.config.columns, model.config.filters, model.config.promLabels, isPromOnly]); diff --git a/web/src/model/config.ts b/web/src/model/config.ts index 172121e76..471ef300f 100644 --- a/web/src/model/config.ts +++ b/web/src/model/config.ts @@ -13,7 +13,8 @@ export type Feature = | 'flowRTT' | 'udnMapping' | 'packetTranslation' - | 'networkEvents'; + | 'networkEvents' + | 'ipsec'; export type Config = { buildVersion: string; diff --git a/web/src/model/filters.ts b/web/src/model/filters.ts index b34b66285..88029af36 100644 --- a/web/src/model/filters.ts +++ b/web/src/model/filters.ts @@ -46,7 +46,9 @@ export type FilterId = | 'xlat_src_address' | 'xlat_dst_address' | 'xlat_src_port' - | 'xlat_dst_port'; + | 'xlat_dst_port' + | 'ipsec_success' + | 'ipsec_retcode'; export interface FilterConfigDef { id: string;