The entire mechanism(udev->bnxt_re_conf.sh->bnxt_setupcc.sh) involves an udev rule(90-bnxt_re.rules) that is triggerred when the bnxt_re device is loaded and it invokes a wrapper script(bnxt_re_conf.sh) that would take values of the required parameters from a config file as mentioned below and will run the configuration using bnxt_setupcc.sh.

The config file parameters are as follows:

ENABLE_FC: Enables flow control. Normally 1. If set to 0, then no configuration action is taken.

FC_MODE -m [1-3]: Selects the mode of operation regarding Priority Flow Control (PFC) and Congestion Control (CC).
		1: PFC only
		2: CC only
		3: Both PFC and CC

ROCE_PRI -r [0-7]: Sets the RoCE packet priority. The range 0-7 corresponds to the possible priority levels in Ethernet frames.

ROCE_DSCP -s VALUE: Sets the RoCE Packet DSCP (Differentiated Services Code Point) value, used in IP headers to determine traffic handling.

CNP_PRI -c [0-7]: Sets the RoCE CNP packet priority.

CNP_DSCP -p VALUE: Sets the DSCP value for RoCE CNP packets.

ROCE_BW -b VALUE: Sets the bandwidth percentage for ETS (Enhanced Transmission Selection) configuration. Default is typically 50%.

UTILITY: Enables the user to select the utility tool. By default set with 4. Also supports 3.
	4: dcb
	3: niccli

PREREQUISITE:
	1. The niccli utility first has to be installed.
	2. And bnxtqos needs to be uninstalled if it already exists.

NOTE:
	1. The files are to be copied to their respected paths as follows:
		cp bnxt_re.conf /etc/bnxt_re/bnxt_re.conf
		cp bnxt_re_conf.sh /usr/bin/bnxt_re_conf.sh
		cp bnxt_setupcc.sh /usr/bin/bnxt_setupcc.sh
		cp 90-bnxt_re.rules /usr/lib/udev/rules.d/90-bnxt_re.rules
	2. A device specific config file(/etc/bnxt_re/bnxt_re_$DEVICE_NAME.conf) is used if provided, instead of using the default config file.
